У меня есть, вероятно, очень глупый вопрос, но у меня все равно.MVC 3 перенаправление ReturnUrl не работает
Вот код в мой контроллер для входа в
[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);
}
Как вы можете видеть, я просто проверить, если ReturnUrl имеет длину для целей тестирования, прежде чем я заблокировать его больше. Моя проблема в том, что я получаю ссылку на объект, не установленную на экземпляр объекта. указывая на эту линию «если (ReturnUrl.Length> 1)»
Теперь URL у меня есть, когда пользователь истек с сайта это: http://localhost/Dispatch2012/Staff/Home?ReturnUrl=Dispatch2012%2FStaff%2FCredential
Как вы можете видеть, это стандарт redirect, созданный MVC 3, и я попытался прочитать ReturnUrl как стандартную строку запроса, но каждый раз, когда он говорит, что объект не существует. Что мне не хватает?
Какой контроллер содержит индекс? –