首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

一个简单有关问题,送分吧

2012-03-15 
一个简单问题,送分吧C# codeprotected void Page_Load(object sender, EventArgs e){Response.Write(测试

一个简单问题,送分吧

C# code
  protected void Page_Load(object sender, EventArgs e)    {              Response.Write("测试Page_load事件");    } protected void Button1_Click(object sender, EventArgs e)    {        this.Button1.Text = "hello,world";    }

为什么我点击button控件的时候 Page_load事件只是执行了一次啊。即始终只显示一条“测试Page_load事件”,Page_load不是应该每次都执行的吗

[解决办法]
初始化之后,load让内容显示出来。当button提交后,页面再次初始化,load当然只有一条了。所以.net page 才会使用保存状态的隐藏域来保存服务器控件的状态。
[解决办法]
Page_Load是页面加载事件,当你点击Button时页面执行了Page_Load事件,但是Page_Load事件是页面加载事件,页面加载的时候就把以前的信息给删除了,所以始终是一个 测试Page_load事件
[解决办法]
点Button后后使页面重新Load,触发Page_Load事件,所以你怎么点也只有测试Page_load事件。
要想显示hello,world,把你的Page_Load事件改一下:

C# code
  protected void Page_Load(object sender, EventArgs e)    {         if (!IsPostBack)              Response.Write("测试Page_load事件");    }
[解决办法]
你点击button后就向服务器重新发请求,服务器返回数据,重新渲染页面,刚才的 "测试Page_load事件"被抹去了
[解决办法]
应该在load时间里面加上IsPostBack,不加的话页面会回传所以会出现这种现象。 
 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
}
[解决办法]
你点击button后就向服务器重新发请求,服务器返回数据,重新渲染页面
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("测试Page_load事件");
}

每次点击按钮都是服务器请求,你写的代码缺少了if (!IsPostBack) 即没有排除掉是否是第一次请求,所以每次清楚都会执行下 Response.Write("测试Page_load事件"); 输出... 所以你每次点击看到的都是 “测试Page_load事件” 

第一次加载事件 不加 if (!IsPostBack) 这是什么需求??你先测试什么结果?
[解决办法]
if (!IsPostBack)
 
[解决办法]
Page_Load 只有首次加载的时候会执行 你想多执行几次就要使用IsPostBack()
例如:
if(!IsPostBack())
{
MessageBox.Show("这个是首次加载");
}
else
{
MessageBox.Show("这个不是首次加载时执行的");
}
[解决办法]
if (!IsPostBack)

[解决办法]
不是Page_load只执行一次,其实它每次都执行了,只不过每次页面重新加载的时候页面重新渲染了。如果你加上 if(!IsPostBack){ Response.write("测试Page_load事件"); }的话 下次点击button按钮的时候,页面是不会输出那些东西的,说明Page_load其实是执行了的!

热点排行