这是我要映射的网址,http://localhost/tool/votetool/123/up
routes.MapRoute(
"", // Route name
"{controller}/{action}/{toolId}/{vote}", // URL with parameters
new { controller = "Tool", action = "VoteTool", toolId = UrlParameter.Optional, vote = UrlParameter.Optional }, // Parameter defaults
new { vote = "up|down"}
);
在我的页面中,我使用html.actionlink生成URL。
@Html.ActionLink("ThumbUp", "VoteTool", "Tool", new { toolId = Model.Tool.Id, vote = "up" })
而是获取与此类似的网址:http://localhost/tool/votetool/123/up
这是我得到的网址:
http://localhost:60627/Tool/VoteTool?Length=4
为什么我得到长度= 4 ???
答案 0 :(得分:2)
您正在调用(linkText, actionName, routeValues, htmlAttributes)
的{{1}}重载。
因此,它将ActionLink
视为一组路由参数,并读取"Tool"
类(String
)的唯一属性。