在索引页面中调用actionresult注销

时间:2015-04-05 10:11:35

标签: c# .net asp.net-mvc

我已经创建了一个登录页面,用户可以登录。不,我希望用户注销。

我在AccountController中有这个:

public ActionResult LogOff()
    {
        FormsAuthentication.SignOut();
        return RedirectToAction("Index", "Home");
    }

但是如何在我的索引页面中调用此actionresult?

3 个答案:

答案 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.
}