[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(String)”的最佳重载方法匹配有一些无效的参数
如何为RedirectToAction()使用可空字符串
发布于 2015-11-25 11:52:26
字符串已经为空,但您可以使用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();
}https://stackoverflow.com/questions/33915709
复制相似问题