IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

[ASP.NET MVC2] fenetre modal en Jquery bug au post


Sujet :

ASP.NET MVC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Par d�faut [ASP.NET MVC2] fenetre modal en Jquery bug au post
    Bonjour � tous.

    J'essaie tant bien que mal d'afficher une fen�tre modal pour m'authentifier.
    De plus une fois authentifi� je dois rediriger l'utilisateur vers son dossier

    Voila ce que j'ai cod� :

    dans ma master page :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
     
    <li><%: Html.ActionLink(SiteResources.Connect, MVC.Account.ActionNames.LogOn, MVC.Account.Name, null, new { @class = "logOnModal"}) %></li>
     
    <div id="dialog" class="divHidden">
            <% Html.RenderPartial(MVC.Account.Views.LogOnUserControl); %>
    </div>
    ma fonction javascript :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $().ready(function () {
        $(".logOnModal").click(function () {
                $("#dialog").dialog(
                    {
                        modal: true,
                        close: function (event, ui) { window.location.href = '/Dossier/Detail'; }
                    }
                );
                return false;
            });
    });
    Mon Controlleur :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    [HttpPost]
            public virtual ActionResult LogOn(LogOnModel model, string returnUrl)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        UserConnected userConnected = UserService.Validate(model.UserName, model.Password);
                        if (userConnected != null)
                        {
                            FormsService.SignIn(model.UserName, model.RememberMe);
                            SessionHelper.CurrentUserConnected = userConnected;
                            if (Request != null && Request.IsAjaxRequest())
                            {
                                return PartialView(model);
                            }
                            else
                            {
                                //eturn View();
                                return RedirectToAction("Detail", "Dossier");
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", AccountResources.LoginErrorMessage);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.Error(ex);
                        return View(MVC.Shared.Views.Error);
                    }
                }
                return PartialView(model);
            }
    Alors premier souci, Request.IsAjaxRequest() est �gale � false alors que je m'attendais � ce qu'il soit � true.

    Ensuite au niveau du contr�leur si je passe dans
    return PartialView(model);
    dans ce cas je reviens vers la page d'authentification

    si je fais
    return RedirectToAction("Detail", "Dossier");
    , mon site plante, la div dialog me disant qu'elle attend un model de type LogOnModel et non pas de type DossierModel.

    La seule partie qui fonctionne a peu pr�s correctement c'est lorsque l'utilisateur se fait jeter � l'authentification. Dans ce cas je suis redirig� vers la page d'authentification avec un message d'avertissement sauf que je n'ai plus la modal.

    Donc pourriez vous m'aider � cr�er une fen�tre modal qui me permettrait de :

    1/ authentifier l'utilisateur et le rediriger vers son dossier
    2/ indiquer � l'utilisateur qu'il n' pas r�ussi � s'authentifier dans la fen�tre modal.

    Merci d'avance de vos r�ponses

  2. #2
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Excuse moi mais es-tu sur de cette partie de code ? :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <% Html.RenderPartial(MVC.Account.Views.LogOnUserControl); %>
    Parce que l�, pour moi, tu lui passes une variable en voulant appeler un "RenderPartial" qui va appeler une vue existante, mais laquelle de vue ?? tu ne lui indiques pas le nom de la vue.

  3. #3
    Membre confirm�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Par d�faut
    Merci de ta r�ponse.

    Alors en fait
    MVC.Account.Views.LogOnUserControl
    correspond au nom de la vue.

    Probl�me r�solu en grande partie, en fait mon application plant� car je planquais ma div dans site.master et le model fourni �tait modifi� selon le controlleur (je ne sais pas si c'est clair).

    Maintenant mon souci est d'un autre ordre.

    Lors de l'authentification deux cas se pr�sentent :

    1/ je suis authentifi�, la redirection sur le close est OK
    2/ je ne suis pas authentifi�, le redirection sur le close fonctionne, hors le contr�lleur imposant d'�tre authentifi� je suis redirig� vers la page d'authentification.

    Ma question est, puis je r�cup�rer � un moment dans ma fonction javascript le r�sultat de l'action (peu importe le moyen) afin de savoir si je dois rediriger vers /Dossier/Detail ou si je dois rafraichir ma vue afin d'afficher un message d'erreur.

    J'utilisais avant la biblioth�que Omu.Awesome, le souci de cette solution c'est que le code g�n�r� met du javascript dans la page hors je n'ai pas le droit de faire �a (je dois syst�matiquement pass� par des fichiers javascript et modifier le comportement de mes objets en javascript afin d'�tre fonctionnelle sans javascript)

    En revanche cette solution fournissait un param�tre pratique SuccessFunction qui appelait une fonction en cas de succ�s sinon on restait sur la popup.

    Voila c'est encore un peu brouillon dans mon esprit, je d�couvre un peu jquery.

  4. #4
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Alors je n'ai pas tout compris dans ta question mais je vais t'exposer un probl�me que j'ai eu � traiter dans le cadre professionnelle :

    Nous avons fait un site ne MVC avec beaucoup de mise � jour (comme un peu gmail) en ajax, mais avec l'authentification et la redirection automatique, � certain moment on avait des probl�mes car nos requ�tes ajax retournaient un code erreur la premi�re fois et la page de login dans un second temps.
    En gros on s'attendait � avoir une structure JSON et on avait du code HTML

    On a donc capt� les codes erreurs de requ�tes ajax (cot� javascript), pour rafraichir la page ("Windows.reload()") quand notre requ�te ajax ne s'�tait pas bien pass�. Certain frameworks tr�s bien fait comme Telerik permettent de le faire sans avoir besoin de faire ses propres m�thodes, mais si vous utilisez JQuery pour faire les requ�tes suffit de g�rer les statuts de la requ�te

Discussions similaires

  1. Asp.net MVC2, bug cr�� � partir de L�URL
    Par mapar� dans le forum ASP.NET MVC
    R�ponses: 2
    Dernier message: 09/03/2011, 20h11
  2. [D�butant] ASP.NET MVC2 - Erreur 404
    Par csharpeur dans le forum ASP.NET MVC
    R�ponses: 6
    Dernier message: 20/01/2011, 14h44
  3. R�ponses: 0
    Dernier message: 16/11/2009, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo