要以编程方式将哪个事件添加到控件中?

时间:2009-04-08 13:49:28

标签: asp.net requiredfieldvalidator

我需要在页面上以编程方式在文本框中添加所需的验证器,我是否在page_load或之前的某个事件中执行此操作?

2 个答案:

答案 0 :(得分:1)

Page_Load适用于更改控件的设置。

编辑: 此代码经过测试和运行:

// in page_load event : 
validator.ControlToValidate = textboxToValidate.ID;

但是,如果您在事件发生后动态生成验证器,问题可能会有所不同。

答案 1 :(得分:1)

这取决于你需要添加它的原因。如果它总是在那里,那么OnInit是个好地方。

如果您只需要在发生操作后添加它,那么您希望在调用LoadViewState后执行此操作,这样您可以在第一次添加后继续添加它。第一次添加,很可能你会因为一些回发事件而想要这样做,所以你可以在事件处理程序中添加它。

我建议在您想要此控件的位置向控件添加占位符。然后在需要时添加控件。然后,您应该在ViewState中存储一些信息,以便知道您添加了控件。然后,您可以覆盖LoadViewState,并在需要时添加控件。

如果只有在控件加载了某些数据时才需要Validator,那么您可以在加载数据后立即添加它,即OnLoad或某些属性访问器。