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

时间:2008-09-26 14:42:24

标签: asp.net-mvc

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

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

的网址

大多数教程/示例建议将此映射为:/ products / category / foo / bar,其中“products”是控制器,“category”是操作等。

但是我需要将它映射到/ products / foo / bar。 (没有“类别”)

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

P.S。抱歉我的英语不好。

2 个答案:

答案 0 :(得分:5)

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

您可以定义这样的路线:

routes.MapRoute("productsByCategory", "products/{category}/{productid}",
  new { controller="products", action="findByCategory" })

这将匹配

products/foo/bar并调用如下操作:

public class ProductsController : Controller
{
   ...

   public ActionResult FindByCategory(string category, string productid)
   {
          ....
   }
}

这有帮助吗?

答案 1 :(得分:0)

您也可以考虑让Controller测试您的自定义路线......

查看Stephen Walther's blog entry了解相关信息。