加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Page_ClientValidate()对象预期的错误,找不到验证器

发布时间:2020-12-15 03:47:53 所属栏目:百科 来源:网络整理
导读:我有一个表单HomePage.aspx包含一个空的asp:面板,一个下拉列表让用户选择一个SPFielType …在索引更改,我的HomePage.aspx.cs页面将获取选定的文本,并将加载面板中的用户控件,该用户控件将基于用户选择的spfieldtype生成一个控件和一个调用validateForm()函
我有一个表单HomePage.aspx包含一个空的asp:面板,一个下拉列表让用户选择一个SPFielType …在索引更改,我的HomePage.aspx.cs页面将获取选定的文本,并将加载面板中的用户控件,该用户控件将基于用户选择的spfieldtype生成一个控件和一个调用validateForm()函数的按钮…我的问题是validateForm()中的Page_ClientValidate()函数无法找到验证器,我也尝试过给一个组名,但仍然不工作.
当我将按钮放入我的aspx页面(不是动态呈现)时,它正在验证我的页面(< asp:Button ID =“submitbutton”Text =“验证”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)
    {
    }

}

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

提前致谢.

解决方法

Sharepoint有一个丑陋的怪癖,它可以将Guid指定为控件的id.我看到了由Sharepoint试图将这些Guids用作变量名称生成的JavaScript.这不是很好 – 它会打破脚本 – JavaScript变量名称中不允许使用破折号.我怀疑这是你遇到的问题.而且,我猜这个罪魁祸首是.CreateFieldRenderingControl().看起来该方法正在生成Id …是Id?如果是这样,请尝试用安全的方式覆盖Id,也许只需从Guid中删除破折号.
fieldRenderingControl.ID.Replace("-","");

如果这不是确切的解决方案,希望可以让您指出正确的方向.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读