0
嗨我想改变应用程序变量Global.asax以外的变量,但以前的数据似乎再次出现。有什么方法可以改变变量的值或重置它。谢谢...如何在Global.asax之外更改应用程序变量?
In Global.asax :
void Application_Start(object sender, EventArgs e)
{
Application["abc"] = "";
}
In aspx.cs page :
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["countmsg"] = 0;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
ViewState["countmsg"] = Convert.ToInt32(ViewState["countmsg"]) +1;
Application["abc"] = Application["abc"] + "hello" + Environment.NewLine;
string str = Application["abc"].ToString();
if (Convert.ToInt32(ViewState["countmsg"]) >= 4)
{
Application["abc"] = ""; // here the reset is not working
ViewState["countmsg"] = 0;
}
}
请张贴一些代码。什么变量?哪里? –
工作进程/ AppDomain可以重新启动;并且可以为后续请求使用不同的进程。如果没有设置每个请求(就像通常在“global.asax”中完成的那样),即使“静态”变量值也不会被“遗忘”。因此,“静态”变量通常不是持久/存储数据的好方法。但是,谢天谢地,根据用例,可能会有其他方法*显示当前代码! – 2012-11-30 05:26:05
@pst先生,您能帮我选择合适的方法吗? –