我记得Page_Load中的代码在每次提交页面或刷新页面的时候都会执行,但现在我感到有点不明白,像下面这两段部分代码:
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text+="ok!";
}
private void Button1_Click(object sender, System.EventArgs e)
{
}
我每次点Button1提交,那么Label1上的字符串都会加上一个"ok",这没有问题,但问题是为什么我每次点刷新后,页面就不会加上"ok"呢?我觉得既然每次刷新都要执行Page_Load,那就应该在后面再加个"ok"才对呀,请大伙帮忙解释一下~~
ASP.NET中的刷新、提交和Page_Load的关系?
答案:2 悬赏:0 手机版
解决时间 2021-03-04 02:37
- 提问者网友:流星是天使的眼泪
- 2021-03-03 23:19
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-03-03 23:38
因为你每次刷新Page的时候,lable控件上的值使用的是最后的值.
刷新的时候,你的值并没提交到服务器。。
而你点button的时候,其实它每次都提交到服务器,每次把值传回服务器,所以lable值被保留了下来。
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Response.Write(Label1.Text);
//if(!Page.IsPostBack)
Label1.Text += "ok!";
}
//你可以这样测试下 只刷新,和只按button提交,就知道差别了
刷新的时候,你的值并没提交到服务器。。
而你点button的时候,其实它每次都提交到服务器,每次把值传回服务器,所以lable值被保留了下来。
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Response.Write(Label1.Text);
//if(!Page.IsPostBack)
Label1.Text += "ok!";
}
//你可以这样测试下 只刷新,和只按button提交,就知道差别了
全部回答
- 1楼网友:夜余生
- 2021-03-04 01:06
是的,每次都会触发page_load 方法
如果添加ispostback属性,里面的方法只会在页面首次加载时候执行
举个例子:
protected void page_load(object sender ,eventargs e)
{
if(!ispostback)
{
///执行的方法
binddgv();
}
}
private void binddgv()
{
}
给你发个链接将的是事件流的::http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html
good luck!希望能够帮助到你!
如果可以请采纳!谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯