Asp.net mvc 4 返回视图();执行FormsAuthentication.SignOut()后不工作
我希望用户被重定向到注销视图点击一个链接,但根据某些条件的注销行为是不同的。以下是MVC4中的代码: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
[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的引用。也许您可以在问题中粘贴完整的堆栈跟踪,并找出它发生在哪一行。抱歉,我不理解这一点。我为什么要推翻?目前我正在使用“重定向”方法重定向。