可以说我有这应该有一个默认值的文本框....,它是在初始化函数,像这样:约ASP.Net回发的一些问题
void InitializeControls()
{
myTextBox.Text = "Default Text";
}
现在,让我们说,我有一个按钮,它执行回发...我想将用户输入的文本框的值保存在按钮的OnClick事件中的某处。
我的问题是,我什么时候应该调用上面的初始化控制代码?我想它应该是在onload功能,但是这好像是我将覆盖回传数据,每次:
protected override void OnLoad(EventArgs eventArgs)
{
base.OnLoad(eventArgs);
InitializeControls();
}
会回传数据覆盖上面,如果我有初始化代码在onload我的默认文本?
感谢
所以我应该只设置默认值,如果它不是postBacK?关于动态控件呢? – Polaris878 2010-03-18 16:02:15
除非你用if(!ispostback)包装它 – 2010-03-18 16:02:43
在Page_Load中设置值会导致ViewState毫无理由地跟踪它,从而不必要地放大ViewState。在调用base.OnInit(在调用base.OnInit()ViewState开始跟踪更改之后)之前,应该在OnInit中设置默认值 – Rune 2010-03-18 16:17:00