ASP .NET MVC在视图之间存储大量参数

Lan*_*nce 5 asp.net-mvc session

我有一个非常简单的ASP.NET MVC站点,它显示数据库中的图像.用户填写一些搜索参数,View返回数据库中符合搜索条件的图像列表.

我现在正在添加分页,根据页码我跳过从数据库中检索到的一定数量的图像.我有这个工作在第一页.当我点击结果的第二页时,我的搜索参数会丢失,因为我没有适当的机制来在视图之间存储搜索参数.

什么是最好的方法.我可以有很多搜索参数.我应该将它们全部存储在会话中还是隐藏的字段中?这感觉就像一个黑客.我应该有一个单独的ViewModel来保存搜索参数并将其存储在会话中吗?

采取什么样的典型方法?

Pin*_*nyM 1

您通常会将跨分页数据存储在隐藏字段中。为了可扩展性,会话应仅限于会话范围内的相关数据。如果将数据放入隐藏字段会导致漏洞,您可以考虑序列化视图模型并将其加密为一个隐藏字段。将其放入 URL 中是另一种选择,尽管您可以放入其中的内容数量受到限制。