我在这里遇到了一些麻烦。我有一种观点,公司可以对我们网站的用户进行赞誉或拒绝。用户被列在一个表格中,并且一列有小公司用来投票或反对用户的小手形象。我在那里编写了一个ActionLink,但是,我不希望每次公司对用户进行投票时发生回传。ASP.NET MVC 3 - 如何在离开视图后执行代码?
我决定用公司投票的用户ID填写一个列表,然后当离开页面时,过滤器会拦截请求,获取列表并处理投票。在this post中,我教过如何在调用Action时初始化Filter参数,但正如您所看到的,我需要一种方式让Filter在用户退出View时获取列表,而不是在Action中。
我不想使用代码隐藏,因为,与MVC配对,这不是一个最佳做法,但回发也不是一个选项。
这是我到目前为止有:
public ActionResult ListUsers()
{
// Create a List with user models and send it to a View,
// which generates a WebGrid
return View(userList);
}
public class PromoteUsersFilter : ActionFilterAttribute
{
public int[] UsersToPromote { get; set; }
public int[] UsersToScrewWith { get; set; }
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
//insert promoting logic here
}
}
我相信有这样做的一个简单的方法,因为大多数网站有这样的funcionality。任何人都可以用这个指导我吗?
“当lea浏览页面“不是您可以在服务器上处理的事件。 “离开页面”可能会导致浏览器关闭,您将无法获得任何回报。使用AJAX。 – 2012-04-13 17:05:13