【问题标题】:CustomValidator OnServerValidate Method Determine Validator ID ReceivedCustomValidator OnServerValidate 方法确定收到的验证器 ID
【发布时间】:2018-09-27 19:02:01
【问题描述】:

我想我的答案可能是否定的,但我想验证我是否能够在CustomValidator 调用的方法中从CustomValidator 中获取ID。我这样说是因为我创建了一个 CustomValidator 方法,它对多个日期字段执行相同的操作。但是,我想根据具体情况为每个控件制作RequiredValidatorVisible=False,这样它们就不会像在@中设置为visibility:hidden时那样占用空间987654327@.

我可以这样做吗?我找不到任何解决此问题的方法。

【问题讨论】:

    标签: c# asp.net web customvalidator


    【解决方案1】:

    我最终将其用作解决方案。

            CustomValidator cv = (CustomValidator)sender;
            if (cv != null && cv.ID != null)
            {
                string cvID = cv.ID.ToString();
    
                switch (cvID)
                {
                    case "CustValidEMIActionOffDate":
                        reqEMIActionOffDate.Visible = false;
                        break;
                    case "CustValidSignatureDateTextBox":
                        reqSigDate.Visible = false;
                        break;
                    case "CustValidPrimaryDateTextBox":
                        reqPrimaryDate.Visible = false;
                        break;
                    case "CustValidAltDateTextBox":
                        reqAltDate.Visible = false;
                        break;
                }
            }
    

    在页面加载中我添加了这个来抵消隐藏元素。可能应该先测试他们是否是Visible=false,但可以稍后添加。

        if (IsPostBack)
        {
            reqEMIActionOffDate.Visible = true;
            reqSigDate.Visible = true;
            reqPrimaryDate.Visible = true;
            reqAltDate.Visible = true;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多