[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:
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:
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:
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
Citation:
return PartialView(model);
dans ce cas je reviens vers la page d'authentification
si je fais
Citation:
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