更改Url.Action(操作,控制器)默认功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改Url.Action(操作,控制器)默认功能相关的知识,希望对你有一定的参考价值。
我不知道我的路由配置有什么问题。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但是@Url.Action("Index","Agent")
回归
而不是
请让我知道缺少什么:)
P.S我不想打扰默认的路由设置,即
答案
在“默认”路线之前映射没有action = "Index"
的路线:
routes.MapRoute(
name: "NoDefaultAction",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", id = UrlParameter.Optional }
);
// Code below unchanged
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
现在@Url.Action("Index", "Agent")
返回"/Agent/Index"
并且“默认”路线不受干扰:
以上是关于更改Url.Action(操作,控制器)默认功能的主要内容,如果未能解决你的问题,请参考以下文章
@Url.Action("Action","Controller") 调用同名的 post 和 get 方法