JQuery Modal Login in ASP.NET MVC 3
-
14-11-2019 - |
Domanda
Sto cercando di ottenere questo http://blog.stevehorn.cc/2009/06/Rendering-modal-dialog-with-aspnet-mvc.html per lavorare con MVC 3.
Sono abbastanza nuovo su ASP.NET MVC e ha iniziato recentemente un progetto MVC 3.Voglio visualizzare un modulo di accesso modale quando l'utente fai clic sul collegamento ipertestuale Accedi nel mio file _layout.cshtml:
<a href="#" id="LogIn">Log In</a>
.
Ho creato una vista di accesso nelle seguenti aree di localizzazione / AUTH / Views / Auth / Login.cshtml
Ho aggiunto il seguente script al mio file _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>
.
e ha aggiunto un parzialViewResult al mio AuthController:
public PartialViewResult LoginView()
{
return PartialView("Login");
}
.
Tuttavia non accade nulla quando si fa clic sul collegamento di accesso.Qualche consiglio o collegamenti a un buon tutorial MVC 3 sul fare ciò, sarebbe apprezzato.
Grazie!
Soluzione
Il tuo URI è sbagliato:
"~/Areas/Auth/Views/Auth/Login"
.
Questo è un riferimento alla vista, non un'azione.I tuoi Uri devono riferirsi a un'azione.Inoltre, JavaScript non capirà la sintassi ~
di ASP.NET.Probabilmente vuoi qualcosa come <%: Url.Content("~/Auth/Auth/LoginView") %>
invece.
In futuro, un buon modo per eseguire il debug di queste cose è il pannello netto di Firebug o il fiddler.Dovresti vedere la chiamata Ajax che restituisce un 404.