我需要在页面上以编程方式在文本框中添加所需的验证器,我是否在page_load或之前的某个事件中执行此操作?
答案 0 :(得分:1)
Page_Load适用于更改控件的设置。
编辑: 此代码经过测试和运行:
// in page_load event :
validator.ControlToValidate = textboxToValidate.ID;
但是,如果您在事件发生后动态生成验证器,问题可能会有所不同。
答案 1 :(得分:1)
这取决于你需要添加它的原因。如果它总是在那里,那么OnInit是个好地方。
如果您只需要在发生操作后添加它,那么您希望在调用LoadViewState后执行此操作,这样您可以在第一次添加后继续添加它。第一次添加,很可能你会因为一些回发事件而想要这样做,所以你可以在事件处理程序中添加它。
我建议在您想要此控件的位置向控件添加占位符。然后在需要时添加控件。然后,您应该在ViewState中存储一些信息,以便知道您添加了控件。然后,您可以覆盖LoadViewState,并在需要时添加控件。
如果只有在控件加载了某些数据时才需要Validator,那么您可以在加载数据后立即添加它,即OnLoad或某些属性访问器。