我正在尝试对“高级搜索”的结果进行分页,我有一个代表搜索选项的复杂模型;
int ZipCode
int MinAge
int MaxAge
Availability
bool Monday
bool Tuesday
...
bool Friday
Requirements
bool FirstAid
bool DriversLicense
我正在使用;
<%: Html.ActionLink("Next »", "Save", "Notification", Model.options)%>
哪个正确地发送了第一级的所有数据,但是任何子对象(可用性或要求)都没有在URL中展开,我得到的只是类名,因此我失去了大部分搜索单击链接以更改为其他页面时的选项。
有什么想法吗?
答案 0 :(得分:0)
在某处,您的Options对象将被用作RouteValueDictionary构造函数的参数:
http://msdn.microsoft.com/en-us/library/cc680272(v=VS.100).aspx
该构造函数中的代码不会递归地进入嵌套对象的属性。它只会反映您房产的第一层。
答案 1 :(得分:0)
我最终创建了一个重写的ToString()方法,该方法将复杂模型转换为查询字符串。然后创建了一个Flat模型,它映射了查询字符串和一个转换方法,以便弹出我原来的复杂对象。
我不会撒谎......这是很多黑客攻击。
但这一切都有效,而且相当可靠。