我想根据值的不同,将用户发送到两个不同页面中的一个isCustomerEligible
.当该变量的值设置为false时,它会调用Index但是然后返回视图Customer
而不是视图Index
.
public ViewResult Index()
{
return View();
}
public ViewResult Customer()
{
DetermineCustomerCode();
DetermineIfCustomerIsEligible();
return isCustomerEligible ? View() : Index();
}
Run Code Online (Sandbox Code Playgroud)
mac*_*ura 17
如果您只返回View(),它将查找与您的操作同名的视图.如果要指定返回的视图,则必须将视图的名称作为参数.
public ViewResult Customer()
{
DetermineCustomerCode();
DetermineIfCustomerIsEligible();
return isCustomerEligible ? View() : View("Index");
}
Run Code Online (Sandbox Code Playgroud)
如果您想要实际触发Index事件而不仅仅返回其视图,则必须返回RedirectToAction()并将返回类型更改为ActionResult
public ActionResult Customer()
{
DetermineCustomerCode();
DetermineIfCustomerIsEligible();
return isCustomerEligible ? View() : RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
您需要做的就是返回所需的视图.
如果要返回与您所使用的操作同名的视图,请使用 return View();
如果您希望返回与您所在的操作方法不同的视图,则可以像这样指定视图的名称 return View("Index");
public ViewResult Index()
{
return View();
}
public ViewResult Customer()
{
DetermineCustomerCode();
DetermineIfCustomerIsEligible();
return isCustomerEligible ? View() : View("Index");
}
Run Code Online (Sandbox Code Playgroud)