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先生,您能幫我選擇合適的方法嗎? –