在新窗口打开GridView,页面间传递参数

3
我有一个想要实现的场景。
客户可以选择一些下拉菜单,以此来选定范围。当他们按下按钮后,查询将被生成,并产生一个新窗口中的GridView(或者至少给人这样的印象),由一个ObjectDataSource进行绑定。我也希望用户能够多次修改搜索条件,以便他们可以生成许多新的窗口/GridView。
那么...达成这个结果的最佳方法是什么呢?
我的初步想法是创建一个由客户端标准(在下拉列表中)生成的查询字符串,然后在新页面上使用该查询字符串填充GridView。我对这种方法的担忧是查询字符串可能会很长...是否创建一个非常长的查询字符串存在任何缺点?
另外,有没有其他方法或想法可以产生类似的期望效果?
欢迎采纳任何建议,所有建议都将得到热情的接受。
2个回答

1
你可以处理按钮的Click事件并将所需的变量存储在Session对象中。 在你的GridView中打开的新窗口中,您获取这些值并将它们分配给ObjectDataSource的Selecting事件中的正确参数。

1

长查询字符串并没有什么问题;只是不如Jeroen的会话对象解决方案干净或易于使用。保存会话对象值:

Session("ObjectName") = 变量名

检索它:

变量名 = Session("ObjectName")

唯一使用查询字符串的原因是如果您不想让会话数据挂起,尽管我无法想象为什么会成为问题。


如果定义了“相同”的会话变量,是否可以拥有多个GridView/窗口实例?会不会出现任何冲突?这样做有意义吗?! - Ricardo Deano
是的,我明白你的意思。只要在正确的位置设置会话值,它就可以正常工作。例如,在打开每个弹出窗口的单击事件中。这样,数据将根据需要每次被覆盖。 - jason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接