使用参数在MVC中无效的URL路由

时间:2013-04-22 04:34:24

标签: asp.net-mvc asp.net-mvc-4 url-rewriting

这是我的行动链接

 @Html.ActionLink(item1.TranslatedName,"Index","Properties",new { CategoryId=item1.CategoryId,CategoryName=item.CategoryName},null)

当前生成的网址是     http://abc.com/Properties/?CategoryId=1&CategoryName=Banken 它也不会调用控制器的索引视图。如果我手动将URL更改为
http://abc.com/Properties/Index?CategoryId=1&CategoryName=Banken 它的工作原理

我为此定义的路线是

 routes.MapRoute(
            "Properties", // Route name
            "{controller}/{action}/{CategoryId}/{CategoryName}", // URL with parameters
                new { controller = "Properties", action = "Index" }, // Parameter defaults
            new { CategoryId = @"\d+", CategoryName = @"\d+" }
        );

任何人都能说出我做错了什么吗?

我需要显示的网址是   http://abc.com/Properties/Banken 基本上我想隐藏类别ID并显示categoryName而不是

1 个答案:

答案 0 :(得分:0)

如果你想要它像Properties / Banken,你应该将你的索引动作重命名为banken动作,我也不确定你是否可以隐藏id