我有一個可能非常愚蠢的問題,但我會擁有它。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
正如你所看到的,這是標準的由MVC 3創建的重定向,我試圖將ReturnUrl作爲標準查詢字符串讀取,但每次都說對象不存在。我錯過了什麼?
哪個控制器包含索引? –