ここでは、非常に些細なことが欠けています。すべての例で、これはかみそりのページで機能します。
'@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]