我最近开始使用ASP.NET MVC,阅读博客,教程,尝试一些路线等等。现在,我偶然发现了一个需要帮助的问题。
基本上,我有一个像/products.aspx?categoryid=foo&productid=bar
的网址大多数教程/示例建议将此映射为:/ products / category / foo / bar,其中“products”是控制器,“category”是操作等。
但是我需要将它映射到/ products / foo / bar。 (没有“类别”)
有可能吗?我错过了什么吗?帮助将受到高度赞赏。谢谢你提前:))
P.S。抱歉我的英语不好。
答案 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了解相关信息。