我已经创建了一个登录页面,用户可以登录。不,我希望用户注销。
我在AccountController中有这个:
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Home");
}
但是如何在我的索引页面中调用此actionresult?
答案 0 :(得分:1)
像这样你可以称之为actionresult
<a href="@Href("~/Account/LogOff")">Logout</a>
在帐户控制器的LogOff操作中保留断点,看看发生了什么......
答案 1 :(得分:1)
有几种不同的方法可以做到这一点
从视图
@Html.ActionLink("Log Out", "LogOff", "Account")
或
<a href="@Html.Action("LogOff", "Account")">Log Out</a>
或
<a href="@Url.Content("~/Account/LogOff")">Log Out</a>
我不推荐最后一个,因为它没有考虑动作和控制器路由。我只把它作为最后的选择包括在这里。
来自其他行动
如果您需要这样做,您也可以像使用任何普通类方法一样直接从代码调用操作。像这样:
class ActionController : Controller
{
// ...
public ActionResult AnotherAction()
{
// Do stuff here
return LogOff(); // You don't have to return the results if they're not needed
}
// ...
}
答案 2 :(得分:0)
最好将logoff方法设为Post方法,所以我建议使用这种形式:
<form method='post'>
<button type='submit'>LogOff</button>
</form>
[HttpPost]
public ActionResult Logoff()
{
//Do LogOff Stuff.
}