如何在没有在URL中定义的默认操作的情况下路由

时间:2014-07-10 15:16:13

标签: c# asp.net-mvc asp.net-mvc-routing

我如何产生这个结果? www.domain.com/brand/brand-name 哪里 品牌= {控制器} parameter = {brand-name}

routes.MapRoute(
   name: "Brand Details",
   url: "{controller}/{brandName}",
   defaults: new { controller = "Brand", action = "Index", brandName = UrlParameter.Optional }
);

查看:\ Brand \ Index.cshtml,这将是默认的操作结果视图。

此时我收到404错误。

产出预期: http://www.domain.com/brand =>不允许 http://www.domain.com/brand-name =>不允许 http://www.domain.com/brand/brand-name =>将获得品牌名称和返回视图的详细信息。

1 个答案:

答案 0 :(得分:1)

你应该像这样路线

routes.MapRoute(
  name: "Brand Details",
  url: "Brand/{brandName}",
  defaults: new { controller = "Brand", 
                  action = "Index", 
                  brandName = UrlParameter.Optional }
);