【问题标题】: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;
}