我试图通过控制器更改当前视图。
public ActionResult login(string str)
{
if(str=="true")
{
return View("index");
}
else
{
return View("error");
}
}
public ActionResult index()
{
return View();
}
public ActionResult error()
{
return View();
}
我将所有这些操作放在同一个控制器中,并将视图文件放在同一目录中。
答案 0 :(得分:2)
我认为你正在尝试重定向到另一个动作。您可以使用RedirectToAction(..)
函数来实现此目的。
例如,如果您的操作定义如下:
public ActionResult Action1()
{
/* code omitted */
}
您可以像操作中的任何位置一样重定向到它:
return RedirectToAction("Action1");
如果要重定向到另一个控制器中的操作,可以使用
return RedirectToAction("Action1", "ControllerName");
如果操作采用参数或路由参数,则可以使用
return RedirectToAction("Action1", "ControllerName", new { param1 = value1, param2 = value2 });
BTW, 如果您正在尝试实施身份验证机制,这是错误的方法。您应该使用[授权]属性或开发自定义身份验证。您可以阅读this。
答案 1 :(得分:0)
由于您希望在允许用户访问Index之前验证用户,因此MVC具有内置的类属性,您可以使用该属性将用户重新路由到登录表单。
[Authorize]
public ActionResult Index()
{return View();}
答案 2 :(得分:0)
你可以使用:
RedirectToAction("actionName", "controllerName");