【发布时间】:2011-08-23 02:47:04
【问题描述】:
我在 c# 中使用按钮控件(“验证按钮”)。 我在我的项目中定义了一些全局变量。 当我单击按钮时,会发生一些表单验证,并且另一个按钮(“保存按钮”)变得可见。 问题是当我单击验证按钮时,当前页面刷新并且全局变量不包含值。它显示为空。 即使在页面刷新后,我如何维护全局变量中的值。
【问题讨论】:
我在 c# 中使用按钮控件(“验证按钮”)。 我在我的项目中定义了一些全局变量。 当我单击按钮时,会发生一些表单验证,并且另一个按钮(“保存按钮”)变得可见。 问题是当我单击验证按钮时,当前页面刷新并且全局变量不包含值。它显示为空。 即使在页面刷新后,我如何维护全局变量中的值。
【问题讨论】:
这是 asp.net,对吗?
将此值存储在会话 Session["MyVariable"] = value 中并从会话 value = Session["MyVaraible"] 中读取它
还有其他选择,ViewState、Application 甚至使用静态变量,但使用 session 对您来说足够简单。
【讨论】:
不清楚全局变量是什么意思。假设它的页面级别(实例)变量,你最好的选择是使用视图状态。定义视图状态支持的属性,例如
private int MyVar
{
get
{
var value = ViewState["MyVar"];
return null != value ? (int)value: 0;
}
set
{
ViewState["MyVar"] = value;
}
}
【讨论】:
【讨论】:
第二种方法:使用不带 PostBack 的按钮的客户端事件(将按钮 AutoPostback 属性设置为 false)来验证您的表单。之后使用第二个按钮的服务器处理程序发布表单字段值...
【讨论】:
我认为您的意思是:您声明了一些变量 globally ,但通常这些变量会在页面循环结束时丢失它们的值。
如果您想在回发后维护变量值,您可以使用static variables,但注意它们将在所有用户之间共享。使用session variables 是不错的选择。
【讨论】: