需要一些ASP.NET MVC路由帮助

cis*_*ert 2 asp.net-mvc

我最近开始使用ASP.NET MVC,阅读博客,教程,尝试一些路线等等.现在,我偶然发现了一个需要帮助的问题.

基本上,我有一个像/products.aspx?categoryid=foo&productid=bar这样的网址

大多数教程/示例建议将其映射到类似:/ products/category/foo/bar,其中"products"是控制器,"category"是动作等.

但我需要将它映射到/ products/foo/bar.(没有"类别")

可能吗?我错过了什么吗?帮助将受到高度赞赏.谢谢你提前:)

PS抱歉我的英语不好.

Ben*_*man 5

(你的英语很好,不需要道歉!)

您可以定义这样的路线:

routes.MapRoute("productsByCategory", "products/{category}/{productid}",
  new { controller="products", action="findByCategory" })
Run Code Online (Sandbox Code Playgroud)

这将匹配

products/foo/bar 并调用一个看起来像这样的动作:

public class ProductsController : Controller
{
   ...

   public ActionResult FindByCategory(string category, string productid)
   {
          ....
   }
}
Run Code Online (Sandbox Code Playgroud)

这有帮助吗?