0
爲什麼此調用操作不提供操作方法名稱?如何獲取Url.action以生成操作方法名稱
@Url.Action("Index","NewStore")
它只是生產...
localhost/TemplateUI/en-CA/Atomic/Wassabi/Store
我需要它來產生對年底/指數....
爲什麼此調用操作不提供操作方法名稱?如何獲取Url.action以生成操作方法名稱
@Url.Action("Index","NewStore")
它只是生產...
localhost/TemplateUI/en-CA/Atomic/Wassabi/Store
我需要它來產生對年底/指數....
這是因爲Url.Action
助手使用您的路線登記在全球的.asax。並且由於您的行動名稱爲Index
,因此我猜想在您的路線註冊中,您已指定action="Index"
的默認值,因此將其省略。
例如,如果您有以下默認路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index" }
);
}
因爲controller = "Home"
和action = "Index"
約束已指定了/
和/Home
是絕對等同的URL並且調用Home
控制器的Index
作用。
所以當你嘗試用一些助手構建一個url時會發生同樣的情況:它使用你的路由。
如果您需要在url中包含動作名稱,請確保您已在路由定義中刪除了action
約束條件。