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

时间:2020-03-06 14:47:17  来源:igfitidea点击:

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

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

大多数教程/示例都建议将此映射到以下内容:/ products / category / foo / bar其中" products"是控制器," category"是操作,等等。

但是我需要将其映射到/ products / foo / bar。 (不含"类别")

是否有可能?我想念什么吗?帮助将不胜感激。谢谢你提前:)

P.S.对不起,我的英语不好。

解决方案

(英语很好,无需道歉!)

我们可以这样定义一条路线:

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)
   {
          ....
   }
}

这有帮助吗?

我们也可以考虑制作一个Controller来测试自定义路线...

查看Stephen Walther的博客条目。