我在这里遗漏了一些非常微不足道的东西,在所有示例中,这都适用于剃须刀页面:
'@Url.Action("GetUserUnits", "MvcAccount")'
哪个应该翻译成,我想在 javascript 中使用:
/MvcAccount/GetUserUnits
但相反,它会生成:
/?action=GetUserUnits&controller=MvcAccount
为什么?我一定做错了什么?
我在这里遗漏了一些非常微不足道的东西,在所有示例中,这都适用于剃须刀页面:
'@Url.Action("GetUserUnits", "MvcAccount")'
哪个应该翻译成,我想在 javascript 中使用:
/MvcAccount/GetUserUnits
但相反,它会生成:
/?action=GetUserUnits&controller=MvcAccount
为什么?我一定做错了什么?
基本上,您的路线有些混乱。@Url.Action
无法将路由匹配到您的操作。
这可能是由于缺少定义的默认路由造成的。通常,您应该在Global.asax.cs
文件中的应用程序启动时注册它。
例如,它可能看起来像这样:
protected void Application_Start()
{
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
如果你想去 -> /MvcAccount/GetUserUnits
采用
@Html.ActionLink("nameOfyourLink", "GetUserUnits", "MvcAccount")
[displayName] [Action] [Controller]