我想我错过了关于MVC表单如何工作的一些基础知识.我的主页上有一个搜索表单,其中有五六个不同的字段供用户搜索.所以我对我的结果动作进行了这个POST就好了.Result操作如下所示:
[HttpPost]
public ActionResult Results(SearchModel model)
{
ResultsModel results = new ResultsModel();
results.ResultList = SearchManager.Search(model).ToList();
return View("Results", results);
}
Run Code Online (Sandbox Code Playgroud)
我为这篇文章简化了上面的方法,但想法是一样的.所以一切正常.我的结果页面显示结果列表,我的用户位于以下URL:
所以...现在我想做一些相当普遍的事情.我在结果页面上有两个下拉列表."排序依据"和"每页结果数".我该怎么做并将全套模型数据发送回控制器,以便我可以查询新参数?实际上,SearchModel类有大约60个不同的字段.可能所有这些数据都可以包含在模型中.你如何坚持到"回帖"的页面?
同样的问题让我对如何进行分页感到有点困惑.我的分页链接将转到以下URL:
但是这假设我们正在响应GET请求(我不想在查询字符串中使用60个数据字段)并且模型数据在GET请求之间传递,我知道情况并非如此.
正如我所说的,我认为我缺少一些关于使用MVC 3,模型和表单帖子的基础知识.
任何人都可以帮助我指出正确的方向吗?我很乐意根据需要编辑/更新这篇文章以澄清事情.
编辑:我也想指出,我想避免将视图模型存储在Session变量中.这个站点最终将最终在Web场中进行负载平衡,并且我真的试图避免在可能的情况下使用Session.但是,如果它是唯一的选择,我将配置另一个会话状态提供程序,但我不想这样做.