我在页面上有两个感兴趣的控件:一个DropDownList
和一个Button
。如果用户按下按钮,他会得到一个弹出窗体,当完成时,会导致基本页面完全重新加载,从而丢失DropDownList中的值。澄清,这是一个刷新,而不是回发。我无法改变它使其成为回传。通过此页面刷新在DropDownList中保持所选值最直接的方式是什么?我无法避免页面刷新,因为在弹出窗口中输入的数据反映在基本页面的其他位置。如何在页面刷新之间保留控件的值/文本属性?
更新
我拼凑起来的,我不是跟非常开心出不确定性的解决方案:当用户点击该按钮时,我使用JavaScript来获取下拉的电流值,并通过与查询字符串到被加载的弹出窗口。当用户点击弹出窗口中的“保存”时,导致数据被保存,然后重新加载基本页面,我首先将querystring值存储到Session变量中。加载时的基本页面查看所述Session变量。如果存在值,则会相应地设置下拉列表的值并删除Session变量。
虽然有点奇怪,但它是我能想到的最好的。我知道我的Gracious Benefactors不喜欢使用Session变量,但考虑到页面重新加载,我无法想出一个替代方案。另外,由于Session变量是短暂的,在页面关闭前不久创建,然后在打开后续页面后立即删除,我希望这是可以接受的。
对比意见,驳斥我的解决方案或推理,热烈欢迎。
结论
最终,在我所描述的解决方案,我仁慈的恩人,我们商定了一个替代做法:如果选择在DropDownList提出,它必须被打开弹出之前保存。这完全避免了整个ViewState问题。
所有这些都应该自动在[ViewState](http://msdn.microsoft.com/en-us/library/ms972976.aspx) – 2010-11-09 20:43:24
或者ajax post – 2010-11-09 21:04:48
中看到页面可能会帮帮我。所以我们可以看到你是如何做你的弹出窗体和回发。 – David 2010-11-09 22:49:33