ログイン後に ReddirectToAction() を使用して、アカウントコントローラーからコントローラーのインデックスページにユーザーをリダイレクトするアプリケーションがあります。
RedirectToAction("Index", "MyController");
それは私をにリダイレクトします//MyApp/MyController/
MasterPage ビューにもナビゲーションがあり、ActionLink を使用します。
@Html.ActionLink("Index", "SomeOtherController")
... (other links)
それは私をにリダイレクトします//MyApp/SomeOtherController
問題は**/**
、最初のルートの終わりの性質にあります。onClick が jQuery .post() を呼び出すマスター ページに partialView があります。
function SomeFunction(id) {
$.post("Controller/Action", { id: id },
function () {
... some code
});
}
しかし、ログインからのリダイレクト後にその関数を呼び出すと、このルートにアクセスしようとします:
/MyController/Controller/Action
それは存在しません。ポストコールを次のように変更すると
$.post("../Controller/Action", ...
**/**
それは正常に機能しますが、ルートの最後にないため、nav リンクでは機能しません。
私は何をすべきか?最後に、またはなしで、RedirectToAction と ActionLink から一意のパスを取得する方法は**/**
?
ノート:
<a></a>
マスター ページのナビゲーションに使用し**/**
て、最後にパスを入力できますが、むしろ ActionLink を使用したいと思います