【发布时间】:2009-06-14 19:45:58
【问题描述】:
我在一个页面上有两个表单:一个结果表单和一个搜索表单。搜索表单使用局部视图,因为它显示在几个不同的页面上。无论用户单击哪个表单上的哪个按钮,我都希望能够将数据保留在搜索表单中。问题是当用户点击结果表单中的链接或按钮时,只会发布结果表单中的表单值,而不包括搜索表单中的值。即使不是提交的表单,我如何维护搜索表单中的值?我不想使用任何类型的会话状态来维护表单,也不想在结果表单的隐藏字段中写入搜索值。我只是希望能够将它们与结果表单的表单值一起发布,以便可以在显示搜索部分视图的任何页面上维护用户搜索条件。我错过了什么?
我的第一个想法是删除包装搜索控件的表单,并让它与结果数据一起呈现到表单中。我在这里担心命名冲突。当搜索来自与结果表单同名的控件时会发生什么,这不会导致命名冲突吗?我想这可以手动管理,以确保在将部分视图渲染到其他视图时有唯一的名称,甚至可以用部分视图名称作为前缀值,但这让我想起了 INamingContainer 中的丑陋Web 表单 - 再加上模型中的繁琐字段名称。
是否有某种优雅的解决方案可以让表单保持我丢失的状态?谢谢!
【问题讨论】:
-
好吧,如果你想一次性提交它,你需要一个覆盖结果表单和搜索表单的
-
哈哈哈...我遇到了同样的问题。一定要收藏这个。
标签: asp.net-mvc