我希望在首次加载页面时,使用文本“我在这里”初始化字符串str。当通过单击按钮(btn_click)更新页面时,该值与初始化的值相同。但它不起作用。在控制台中我读到:
我第一次加载页面:“我在这里”
1.当我点击按钮时:“空”
2.我认为我们应该保持这个价值:“我在这里”。请帮忙。
public partial class Default : System.Web.UI.Page
{
string str = "empty";
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
str = "I am here";
Debug.Write("VALUE: " + str + "\r\n");
}
else
{
Debug.Write("VALUE: " + str + "\r\n");
}
}
protected void btn_Click(object sender, EventArgs e)
{
//do something...
}
}
答案 0 :(得分:1)
对服务器的每个单独请求都会创建页面的新实例......第一个请求(I = s<0;
s(I) = s(I) + 2*pi;
)和所有后续请求(IsPostBack==false
)。
这意味着每次请求页面时,IsPostBack==true
变量都会使用str
初始化,但只会在第一次加载时设置为"empty"
(即"I am here"
)。你需要以某种方式存储它,以便在发布回发时你仍然拥有它。
有几种方法,包括使用IsPostBack==false
对象,但我建议像这样使用Session
......
ViewState