我的第一个MVC网站有以下要求。我结束了。
每个页面(有5个)都有一些过滤参数。当用户使用来回按钮或我在masterview中添加的按钮或主页按钮时,我需要实现一种快速简便的方法来记住参数。
例如。用户可以在给定月份的第一页中过滤数据,单击网格一行上的详细信息,当他按下第二页上的主页按钮时,返回第一页,同时记住他在第一
感谢
答案 0 :(得分:3)
好吧,想象一下你的过滤器是一个对象:
public class SearchFilterPage1 {
public string Name {get;set;}
public int SearchValueX {get;set;}
}
在“获取行动”
中public ActionResult Index() {
var filter = (SearchFilterPage1)HttpContext.Current.Sesssion["FilterPage1"]
?? new SearchFilterPage1();
var model = someMethodForSearching(filter);
return View(model);
}
当您的过滤器更改时(假设您使用后置操作)
public ActionResult Filter(SearchFilterPage1 filter) {
HttpContext.Current.Session["FilterPage1"] = filter;
return something;
}
然后,您可以根据需要为每个页面的过滤器使用不同的密钥,在需要时清除它们等等。
答案 1 :(得分:0)
如果您使用正确的路由将过滤器参数放入URL,它将按原样工作,因为url将是状态,后退和前进按钮从一个url / state循环到另一个url / state。你不需要实现任何东西。