在Page_Load中创建的TextBox何时回填视图数据

自由小菜园 2012-12-07 10:10:15
在客户端改了Page_Load中创建的TextBox的值后触发change事件,不太理解,我的理解
1、LoadAllState恢复页面中控件的状态
2、ProcessPostData对比控件状态与PostData的值,改动则添加到集合中,以待后面触发事件
3、LoadRecursive中触发页面Load事件和所有控件的Load事件,此时也刚好是我在页面中创建了text1控件,但是还是初始值,没恢复视图状态
4、再次调用ProcessPostData以保证第第一次ProcessPostData没有被匹配到的控件被找到,这次应该找到了我创建的那控件text1,然后比较是否状态发生了变化
5、接下来就是触发一系列的控件改变事件以及回传事件了

我这代码简单一点看明白就行,问题也就是发生我上面讲的第三步的Load事件和第四步的ProcessPostData中,这两者之间也没发现回填视图状态,所以text1控件是什么时候恢复状态的
Page_Load(object sender, EventArgs e)
{
TextBox text1 = new TextBox();
text1.ID = "text1";
text1.Text = "text1";
text1.TextChanged += new EventHander(Text_Change);

}
Text_Change(object sender, EventArgs e)
{
string text = "hello";//每次的客户端修改,这边都进来了,所以肯定会有恢复视图的时段,但是目前没找到是在哪个过程中
}
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由小菜园 2012-12-07
  • 打赏
  • 举报
回复
引用 4 楼 mrchuei 的回复:
C# code?12345678if(!ispostback)Page_Load(object sender, EventArgs e) { { TextBox text1 = new TextBox(); text1.ID = "text1"; text1.Text = "text1";}}
牛逼啊,这样的代码也能写出来
自由小菜园 2012-12-07
  • 打赏
  • 举报
回复
引用 3 楼 bonnibell 的回复:
LoadPostData 是在Page_Load前的,所以控件需要在Page_Init里动态创建
你没看到Page_Load后还有一个LoadPostData,你自己贴了图都没看过程啊?
自由小菜园 2012-12-07
  • 打赏
  • 举报
回复
引用 2 楼 yyl8781697 的回复:
没怎么看懂LZ说的1-5步 说下我对LZ贴的代码的理解吧 C# code?1234567891011121314Page_Load(object sender, EventArgs e){ TextBox text1 = new TextBox();//在页面载入之前实例化一个textbox的控件 text1.ID = "text1"; t……
关键是我测试的时候是执行了,所以不解
mrchuei 2012-12-07
  • 打赏
  • 举报
回复

if(!ispostback)
Page_Load(object sender, EventArgs e) { 
{
     TextBox text1 = new TextBox();
     text1.ID = "text1";
     text1.Text = "text1";
}
}

bonnibell 2012-12-07
  • 打赏
  • 举报
回复


LoadPostData 是在Page_Load前的,所以控件需要在Page_Init里动态创建
yyl8781697 2012-12-07
  • 打赏
  • 举报
回复
没怎么看懂LZ说的1-5步 说下我对LZ贴的代码的理解吧

Page_Load(object sender, EventArgs e)
{
     TextBox text1 = new TextBox();//在页面载入之前实例化一个textbox的控件
     text1.ID = "text1";
     text1.Text = "text1";
     text1.TextChanged += new EventHander(Text_Change);//在该控件上添加一个文本修改的事件

}

//当text1控件的文本被修改时会触发此事件
Text_Change(object sender, EventArgs e)
{
    string text = "hello";//每次的客户端修改,这边都进来了,所以肯定会有恢复视图的时段,但是目前没找到是在哪个过程中
}


但是LZ你并没有把该text1的控件放在界面上,所以按理说 text_change的事件是不会被执行的 我在本地测了也没有被执行
自由小菜园 2012-12-07
  • 打赏
  • 举报
回复
再次为自己顶

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧