我在这里遇到了一些麻烦。我认为公司可以对我们网站的用户赞不绝口。用户列在一个表格中,一列有公司投票支持或反对用户的小手图像。我在那里编写了一个 ActionLink,但是,我不希望每次公司对用户投票时都发生回发。
我决定用公司投票的用户 ID 填写一个列表,然后在离开页面时,过滤器会拦截请求,获取列表并处理投票。在这篇文章中,我学习了如何在调用 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
}
}
我相信有一种简单的方法可以做到这一点,因为大多数网站都有这种功能。任何人都可以指导我吗?