ASP.NET MVC 3のjQueryモーダルログイン
-
14-11-2019 - |
質問
これを取得しようとしています HTTP://blog.stevehorn.cc/2009/06/rendering-modal-dialog-with-aspnet-mvc.html MVC 3を扱う
ASP.NET MVCできれいに新しいことで、最近MVC 3プロジェクトを開始しました。ユーザーがマイ_layout.cshtmlファイルでログインハイパーリンクをクリックしたときにモーダルログインフォームを表示したい:
<a href="#" id="LogIn">Log In</a>
.
次の場所にログインビューを作成しました/ auth / views / auth / login.cshtml
次のスクリプトを_layout.cshtmlファイルに追加しました。
<script type="text/javascript">
$(document).ready(function ()
{
$("#LogIn").click(function (event)
{
$.get(
"~/Areas/Auth/Views/Auth/Login" ,
function (htmlResult)
{
$("#LoginModal").remove(); //In case this is the second time they've requested the dialog.
$("#container").append(htmlResult);
$("#LoginModal").dialog();
}
);
return false; //To keep the default behavior of the anchor tag from occuring.
});
</script>
.
とmy authControllerにDistributeViewResultを追加しました:
public PartialViewResult LoginView()
{
return PartialView("Login");
}
.
しかし、ログインリンクをクリックすると何も起こりません。これを行うことについての良いMVC 3チュートリアルへのアドバイスやリンクは、理解されます。
ありがとう!
解決
あなたのURIが間違っている:
"~/Areas/Auth/Views/Auth/Login"
.
これはアクションではなく、ビューへの参照です。あなたのURIはアクションを参照する必要があります。また、JavaScriptはASP.NETの~
構文を理解しません。代わりに<%: Url.Content("~/Auth/Auth/LoginView") %>
のようなものが欲しいのですが。
将来的には、これらのことをデバッグするための良い方法は、Firebugのネットパネルまたはフィドラーです。Ajax呼び出しが404を返すのを見るべきです。
所属していません StackOverflow