[HttpGet]
public ActionResult Login(string? returnUrl)
{
if (Request.IsAuthenticated)
{
if(returnUrl.HasValue)
return RedirectToAction("Index", "Home");
else
return RedirectToAction(returnUrl);
}
return View();
}
错误:最佳重载方法匹配 ' System.Web.Mbv.Controller.Redirect(字符串)'有一些无效的 参数
如何为RedirectToAction()
答案 0 :(得分:6)
字符串已经可以为空了,但您可以使用string.IsNullOrEmpty检查null。
[HttpGet]
public ActionResult Login(string returnUrl)
{
if (Request.IsAuthenticated)
{
if(string.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Index", "Home");
}
else
{
return RedirectToAction(returnUrl);
}
}
return View();
}
你也可以默认它,所以如果没有传递它就永远不会是空的。
[HttpGet]
public ActionResult Login(string returnUrl = "www.yourDomain.com/login")
{
if (Request.IsAuthenticated)
{
return RedirectToAction(returnUrl);
}
return View();
}