J'ai une question probablement très bête mais je vais quand même la poser.
Voici le code dans mon contrôleur pour l'ouverture de session
[HttpPost]
public ActionResult Index(LogonModel model, string ReturnUrl)
{
ReturnUrl = Request.QueryString["ReturnUrl"];
if (ModelState.IsValid)
{
if (UserRepository.validLogin(model.Username, model.Password))
{
UserLogRepository.createLogEntry("Log On", " has logged on to the Staff Portal.", "Entry/Exit");
if (ReturnUrl.Length > 1)
{
return Redirect(Request.QueryString["ReturnUrl"]);
}
else
{
return RedirectToAction("Dashboard", "Home");
}
}
else
{
ModelState.AddModelError("", Session["Error"].ToString());
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Comme vous pouvez le voir, je vérifie juste si le returnurl a une longueur à des fins de test avant de le verrouiller davantage. Mon problème est que j'obtiens un "Object reference not set to an instance of an object" pointant sur cette ligne "if (ReturnUrl.Length > 1)".
Maintenant, l'URL que j'ai lorsqu'un utilisateur a quitté le site dans les délais est la suivante : http://localhost/Dispatch2012/Staff/Home?ReturnUrl=Dispatch2012%2FStaff%2FCredential
Comme vous pouvez le voir, il s'agit de la redirection standard créée par MVC 3. J'ai essayé de lire le ReturnUrl comme une chaîne de requête standard, mais à chaque fois, le système indique que l'objet n'existe pas. Qu'est-ce que j'ai raté ?