我在这里看到了用于保存一个字符串以传递到下一页的示例。但是,我没有能够找到或想出如何保存多个搜索参数,而不需要每个搜索字符串的变量,这是我不想做的事情,因为我有12个搜索字段。C#MVC保存多个搜索字符串用于分页
我已经看到了将变量保存到viewbag的示例,然后在转到下一页时传递该示例。这适用于一个变量,但不适用于多个变量。
是否有一个更有说服力的解决方案,然后必须通过每个变量的个别视图袋?
谢谢!
我在这里看到了用于保存一个字符串以传递到下一页的示例。但是,我没有能够找到或想出如何保存多个搜索参数,而不需要每个搜索字符串的变量,这是我不想做的事情,因为我有12个搜索字段。C#MVC保存多个搜索字符串用于分页
我已经看到了将变量保存到viewbag的示例,然后在转到下一页时传递该示例。这适用于一个变量,但不适用于多个变量。
是否有一个更有说服力的解决方案,然后必须通过每个变量的个别视图袋?
谢谢!
您可以使用它class
这样的:
public class SearchField
{
public string Field1 { get; set; }
public int Field2 { get; set; }
// other fields
}
并保存对象ViewBag
这样的:
SearchField objSearchField = new SearchField();
objSearchField.Field1="value1";
objSearchField.Field2 = 100;
// set other fields
ViewBag.SearchFields = objSearchField;
您可以使用viewbag或TempData的[ “的StringID”。 tempdata可能是更好的选择。你要做的是创建一个字符串数组(或者列表可能会更好!)并将所有信息存储在该数组中。然后你将它存储在tempdata中。事情是这样的:
string[] URLs = new string[12];
//do stuff
Tempdata["URLs"] = URLs;
当你到你需要再次网址的页面,无论是在控制器或视图中的你会写:
string[] URLS = (string[])Tempdata["URLs"];
//do stuff
or
string[] URLS = Tempdata["URLs"] as string[];
类似的东西应该工作。你应该在其他方面的ASP MVC来传递数据读了起来:
如果你认为答案正确,请接受它。 –
你为什么不传递一个对象在viewbag你有变量性质说的吗? ...就像是一个正在搜索字段的“Dictionary”键,值是变量值。 – GibralterTop
在我看来,这些信息应该是ViewModel的一部分。 –