次の構造を持つ .Net MVC 3 Web アプリケーションがあります。
- 根
- ビュー
- アカウント
- LoginPage.aspx
- アカウント
- コントローラー
- アカウントコントローラー
- エリア
- コース
- インデックス.aspx
- コース
- ビュー
現在、コース領域のIndex.aspxページにいて、 LoginPage.aspxに転送するボタンがあるとします。
ASP.Net MVC では、http://localhost/Account/Loginを呼び出して、正しいページに誘導します。ブラウザに書き留めるだけで動作します!
しかし、私は HTML Helper ActionLinkを使いたいので、試しました:
<%: Html.ActionLink("Log on", "Login", "Account", routeValues: null, htmlAttributes: new { id = "logonLink", data_dialog_title = "Logon" })%>
相対パスを取得します: http://localhost/Course/Account/Login
私も試しました:
<%: Html.ActionLink("Log on", "Login", "../Account", routeValues: null, htmlAttributes: new { id = "loginLink", data_dialog_title = "Login" })%>
次のエラー メッセージが表示されました:トップ ディレクトリの上で終了するには、先頭の .. を使用できません。
相対パスも試しました:
<%: Html.ActionLink("Log on", "Login", "~/Account", routeValues: null, htmlAttributes: new { id = "loginLink", data_dialog_title = "Login" })%>
そして、それは私を次のように導きました:
http://localhost/Course/~/Account/Login
この問題の解決策を見つける方法を本当に感謝しています。