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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top