仅在单击链接时,我试图找到一种在布局视图中执行方法的方法。到目前为止,这是我的代码:
我要调用的方法(也在视图中):
@functions{
public void Logout()
{
Session.Abandon();
Response.RedirectToRoute(new { controller = "Home", action = "Index"});
}
}
将被单击以调用该方法的链接:
<a onclick="// Call the method from here" href="#">Log Out</a>
问题是,我该怎么办?
答案 0 :(得分:0)
您可以在帐户控制器中添加控制器操作,然后调用它。
例如,一种快速的方法是添加操作方法:
public class AccountController : Controller
{
public ActionResult Logout()
{
Session.Abandon();
return RedirectToAction("Index","Home");
}
}
在视图中,您可以通过js来实现:
<a onclick="location.href='@Url.Action("Logout","Account")'" href="#">Log Out</a>
更好的方法是将动作创建为HttpPost
并通过表单发布来执行。但是上面的示例说明了如何在链接上单击客户端。
答案 1 :(得分:0)
您还可以通过href
实现此目的<a href="@Url.Action("ActionName","ControllerName")">Log Out</a>