تسجيل الدخول إلى jQuery Modal في ASP.Net MVC 3
-
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>
لقد قمت بإنشاء طريقة عرض تسجيل الدخول في الموقع التالي Areas/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>
وأضفت PartialViewResult إلى AuthController الخاص بي:
public PartialViewResult LoginView()
{
return PartialView("Login");
}
ومع ذلك، لا يحدث شيء عند النقر على رابط تسجيل الدخول.سيكون موضع تقدير أي نصيحة أو روابط لبرنامج تعليمي جيد عن MVC 3 حول القيام بذلك.
شكرًا!
المحلول
معرف الموارد المنتظم (URI) الخاص بك خاطئ:
"~/Areas/Auth/Views/Auth/Login"
وهذا إشارة إلى وجهة نظر، وليس إلى إجراء.يحتاج URI الخاص بك إلى الإشارة إلى إجراء ما.وأيضًا، لن تتمكن JavaScript من فهم ASP.NET ~
بناء الجملة.ربما تريد شيئا من هذا القبيل <%: Url.Content("~/Auth/Auth/LoginView") %>
بدلاً من.
في المستقبل، هناك طريقة جيدة لتصحيح هذه الأشياء وهي لوحة Firebug's net أو Fiddler.من المفترض أن تشاهد مكالمة AJAX تُرجع الرقم 404.