2015-04-05 47 views
0

我已经创建了登录页面,用户可以登录。不,我希望用户注销。在索引页面呼叫操作结果注销

我有这个在我的AccountController:

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

但我怎么能称之为的ActionResult在我的索引页?

回答

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 
    } 
    // ... 
} 
1

这样你可以调用这个ActionResult的

<a href="@Href("~/Account/LogOff")">Logout</a> 

保持一个断点在你注销等动作在您的账户控制器和看发生了什么事..

0

其最好的做法作出注销方法POST方法,所以我建议使用这种形式:

<form method='post'> 
<button type='submit'>LogOff</button> 
</form> 



[HttpPost] 
public ActionResult Logoff() 
{ 
//Do LogOff Stuff. 
}