在我正在为WSS 3.0 Web应用程序中制作的特定自定义列表项表单上,我需要在加载页面时验证该页面,以便立即注意用户从上一个保存中犯的任何错误。我目前通过使用 Page.Validate() 在里面 OnLoad 方法。

与所有 TextBoxRadioButtonList 我填充的控件(也在页面加载上),我可以简单地填充它们,然后触发一堆 InputFormCustomValidator 页面上的控件。对于这些控件,一切都清晰,正确填写的字段并未标记为无效。

但是 UserFieldDateTimeField 控件,它将将它们视为空载验证的空载,无论它们是否有数据。当使用实际时,这两者都会发生 UserFieldDateTimeField 控制基于项目ID Querystring的自动获取数据,以及使用基础时 PeopleEditorDateTimeControl 我像文本框一样在页面加载上预处理的控件。

一旦有一个后背部要求验证,验证将正确识别这些字段的内容。

我可以做些什么来解决这个问题,因此正确填充的用户和DateTime字段是 不是 在页面加载上被标记为无效的?我应该以不同的方法运行验证 OnLoad?我个人想把领域保留为 UserFieldDateTimeField 与其使用基础控件,而是限制了我无法定义何时被人口填充。如果解决方案是将控制前人群移至较早的阶段,我可以解决这个问题,但是如果可以以另一种方式固定它,则仍然不必这样做。

有帮助吗?

解决方案

您是否尝试过在.validate()之前调用senurechildControls()?另外,如果要动态创建/加载控件,通常是在createChildControls()事件而不是onload()中完成的,因为大多数自定义控件需要在加载之前参与事件()。

其他提示

也许尝试移动page.validate()调用到OnPrerender事件?

许可以下: CC-BY-SA归因
scroll top