Asp.net mvc 4 返回视图();执行FormsAuthentication.SignOut()后不工作

Asp.net mvc 4 返回视图();执行FormsAuthentication.SignOut()后不工作,asp.net-mvc-4,Asp.net Mvc 4,我希望用户被重定向到注销视图点击一个链接,但根据某些条件的注销行为是不同的。以下是MVC4中的代码: [AllowAnonymous] public ActionResult LogOff() { FormsAuthentication.SignOut(); if (<somecondition>) { return View(); } else { return Redirect(<someURL>); } } [All

我希望用户被重定向到注销视图点击一个链接,但根据某些条件的注销行为是不同的。以下是MVC4中的代码:

[AllowAnonymous]
public ActionResult LogOff()
{

  FormsAuthentication.SignOut();

  if (<somecondition>)
  {
    return View();
  }
  else
  {
    return Redirect(<someURL>);
  }
}
[AllowAnonymous]
公共行动结果注销()
{
FormsAuthentication.SignOut();
如果()
{
返回视图();
}
其他的
{
返回重定向();
}
}
现在,在“FormsAuthentication.SignOut()”之后,如果条件为true,则返回视图不工作并抛出错误。 然而,若条件为false,则重定向将按预期工作

问题:如果我们已注销,视图将不起作用,这是预期行为吗


谢谢。

如果您想覆盖授权中的
注销
视图,我认为这是预期行为

将其添加到配置文件中,为包含
LogOff
View的视图文件夹提供正确的路径

  <location path="Views/LogOff">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>


使用
返回视图()时会出现什么错误。错误是“无法将[]索引应用于'System.Dynamic.DynamicObject'类型的表达式”返回视图时是否有可能未初始化某种类型的
ViewBag
/
ViewData
对象?不,重定向是在操作结束时,此外,视图中没有对任何ViewBag或ViewData的引用。也许您可以在问题中粘贴完整的堆栈跟踪,并找出它发生在哪一行。抱歉,我不理解这一点。我为什么要推翻?目前我正在使用“重定向”方法重定向。