我有一个GUI,其中包含几个组件(组合框,文本框等)及其关联标签。按下按钮时,将验证每个输入组件中的选择,如果发现包含无效值,则标签颜色将变为红色并显示错误消息。这样就可以了。
当提供无效值并稍后修复时,会出现问题。当用户按下按钮并且输入有效时,我使用Response.Redirect将响应重定向到asp,然后运行并打开PDF报告。发生这种情况时,没有任何代码可以将标签更改回原始颜色或删除错误消息。如果我将Response.Redirect()更改为Server.Transfer()并且用户返回,它会将页面返回到其原始状态(删除错误消息),但我想在每个组件中保留有效数据。
如果用户返回时删除错误消息或保留用户的有效输入,我该怎么办?
编辑:大多数控件都是非标准的.NET控件,我正在使用VB.NET 2003。
答案 0 :(得分:0)
您需要的是一种在转换期间保存数据的方法。因此,第一次传递验证时,将值存储到会话变量中。
Session ("TextBox1Value") = 'Something1'
Session ("ComboBoxValue") = 'Something2'
当你回到页面时,你所要做的就是:
TextBox1.Text = Session("TextBox1Value")
只要浏览器跨多个页面打开,这将有助于保留值。请看下面的链接,看一个简单的例子:
http://www.java2s.com/Code/ASP/Session-Cookie/UsesessionvariablesVBnet.htm