当我使用MVC创建链接时发生了一些奇怪的事情:aspx视图:
<%= Url.Action("ActionName", "Controller", new { action = "add" }) %>
虽然我期待:"/Controller/ActionName?action=add"
,
我得到了:"/Controller/ActionName"
。
我想这是因为'动作'路线图??
有什么方法可以强迫这个?任何文件?因为我想知道还有什么被剥夺了。
路线配置:
routes.MapRoute("Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
答案 0 :(得分:1)
action
(或其任何一部分)是保留的路由数据,对ASP.NET MVC至关重要。我建议将其重命名为其他内容。
在幕后,Url.Action
助手可能会使用actionName
参数的值覆盖它。
其他保留路线数据名称包括controller
和area
。这些也是不区分大小写的。