2

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

4

2 回答 2

1

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

编辑: 此代码经过测试并且有效:

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

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

于 2009-04-08T13:59:32.357 回答
1

这取决于您为什么需要添加它。如果它总是在那里,那么 OnInit 是一个好地方。

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

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

如果只有在控件加载了一些数据时才需要验证器,那么在加载数据后立即添加它,无论是 OnLoad 还是某些属性访问器。

于 2009-04-08T14:13:19.373 回答