页面有个文本框,
protected void Page_Load(object sender, EventArgs e)
{
textbox1.Text = "1";
}
然后运行,修改文本框的值为其他,点击按钮弹出 textbox1的值,仍然还是1,
为什么不变??
搞一晚通宵没搞定这个问题!! 睡觉先了! 帮我解决我加50分!说到做到!
页面有个文本框,
protected void Page_Load(object sender, EventArgs e)
{
textbox1.Text = "1";
}
然后运行,修改文本框的值为其他,点击按钮弹出 textbox1的值,仍然还是1,
为什么不变??
搞一晚通宵没搞定这个问题!! 睡觉先了! 帮我解决我加50分!说到做到!
1)当通过IE的地址栏等形式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POST的形式提交的服务器时,页面就不再是第一次打开了。
2)IsPostBack只有在第一次打开的时候是false,其它时候都是true
3).Net判断一个Page能不能第一次打开的要领:Request.Form.Count>0
4)每次页面Load的时候,根据须要把每次都要加载的代码放在IsPostBack中,只须要加载一次的代码放在if(!IsPostBack)中。
所以应该把代码应该这样写:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox1.Text = "1";
}
}
这样在点击按钮触发的事件时就会出现文本框里真实的内容
放在Init 事件里 就可以了
protected void Page_Init(object sender, EventArgs e) {
textbox1.Text = "1";
}
楼上正解
用IsPostBack就可以了
否则的话就PostBack了
基本所有的页面都要这样加的
protected void Page_Load(object sender, EventArgs e) {
If (!IsPostBack)
textbox1.Text = "1";
}
你应该判断这个,否则每次重置成1