Page_ClientValidate()对象预期错误,无法找到验证器

Gra*_*ace 10 javascript c# asp.net sharepoint user-controls

我有一个包含一个空的ASP形式HomePage.aspx:面板,下拉列表让用户选择一个SPFielType ...对指数变化,我HomePage.aspx.cs页面获取文本选择将加载面板内的用户控件,该用户控件将基于用户和一个按钮调用validateForm()函数选择的spfieldtype产生控制...我的问题是,Page_ClientValidate()的validateForm(内部功能)找不到验证,我也尝试过给一个组名,但仍然没有工作.
当我将按钮放入我的aspx页面(不动态渲染)时,它正在验证我的页面.(<asp:Button ID="submitbutton" Text="Validate" runat="server" />).
但是当我动态渲染它时,无法验证表单.这就是我想要做的:

protected override void CreateChildControls()
{
    try
    {
        fieldRenderingControl = this.CreateFieldRenderingControl(this.FieldType);
        this.Controls.Add(fieldRenderingControl);

        Button button = new Button();
        button.UseSubmitBehavior = false;
        button.Text = "ValidateButton";
        button.ID = "ValidateButton";
        button.OnClientClick = "validateForm()";
        this.Controls.Add(button);

        RequiredFieldValidator newValidator = new RequiredFieldValidator();
        newValidator.Text = "***";
        newValidator.ID = "valideee";
        newValidator.EnableClientScript = true;
        newValidator.Enabled = true;
        newValidator.SetFocusOnError = true;
        newValidator.Display = ValidatorDisplay.Dynamic;
        newValidator.ControlToValidate = fieldRenderingControl.ID;
        this.Controls.Add(newValidator);

    }
    catch (Exception ex)
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

// CreateFieldRenderingControl()函数将根据用户选择的参数fieldType生成控件.

提前致谢.

小智 0

加载控件后,请通过 Firebug 检查 ID 控件,或者仅查看 HTML 的源代码,因为某些控件在您放入其他控件时,它们的 ID 在渲染时会发生变化。如果可以的话,也写一下htmnl代码的代码。