我有一个非常简单的ASP.NET MVC站点,它显示数据库中的图像.用户填写一些搜索参数,View返回数据库中符合搜索条件的图像列表.
我现在正在添加分页,根据页码我跳过从数据库中检索到的一定数量的图像.我有这个工作在第一页.当我点击结果的第二页时,我的搜索参数会丢失,因为我没有适当的机制来在视图之间存储搜索参数.
什么是最好的方法.我可以有很多搜索参数.我应该将它们全部存储在会话中还是隐藏的字段中?这感觉就像一个黑客.我应该有一个单独的ViewModel来保存搜索参数并将其存储在会话中吗?
采取什么样的典型方法?
我有以下javascript类,我试图传递给ASP.NET MVC控制器
var postParams = {
attributes : [
{
name : '',
description: '',
attributeType : '',
value : ''
}
]
};
postParams.attributes[0] = new Object();
postParams.attributes[0].name = "test";
postParams.attributes[0].description = "test";
postParams.attributes[0].attributeType = "test";
postParams.attributes[0].value = "test";
Run Code Online (Sandbox Code Playgroud)
以下是我调用Controller方法的方法:
var actionURL = "@Url.Action("Save", "Catalog")";
$.ajax({
type: "POST",
url: actionURL,
data: postParams ......
Run Code Online (Sandbox Code Playgroud)
在Controller方面,我已经声明了一个ViewModel,如下所示:
public class AttributeViewModel
{
public string name { get; set; }
public string description { get; set; }
public string attributeType { get; set; } …Run Code Online (Sandbox Code Playgroud)