如何读取webcontrol的style [“display”]属性的值

时间:2015-06-10 07:57:35

标签: c# html css

我有

<asp:RequiredFieldValidator ID="RequiredFieldValidatorFrom" runat="server" CssClass="ErrorLabel" ControlToValidate="FromDateTextBox" Display="Dynamic" ErrorMessage="<%$ Resources:GlobalResources, StartDateRequired %>">
</asp:RequiredFieldValidator>

和css

.ErrorLabel
{
    margin-left: 5px;
    font-family: Segoe UI, Verdana;
    font-size: 10px;
    font-weight:lighter;
    color: red;
    vertical-align: top;
    text-align: left;
    display: block;
}

如果我的FromDateTextBox为空,则会收到错误消息。

我想检查我的C#代码是否我的错误是在我的页面上发布的。

当我在chrome中检查元素检查中的elementit时,我没有错误,它是这样的:

<span id="ctl00_PageMainContent_RequiredFieldValidatorFrom" class="ErrorLabel" style="color: red; display: none;">Start date required</span>

当我拥有它时,它就像:

<span id="ctl00_PageMainContent_RequiredFieldValidatorFrom" class="ErrorLabel" style="color: red; display: inline;">Start date required</span>

只是显示更改。 但是如何在c#代码中检查此更改?我想基于此

启用/禁用按钮

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以通过添加验证组来实现此目的

1)将validgroup属性添加到.aspx页面中的控件,如下所示

 ValidationGroup="FormSubmit"

2)使用以下方法查找该组是否有效

protected bool IsGroupValid(String sValidationGroup)
{
    foreach (BaseValidator validator in Page.Validators)
       {
          if (validator.ValidationGroup == sValidationGroup)
              {
                 bool fValid = validator.IsValid;
                 if (fValid)
                 {
                     validator.Validate();
                     fValid = validator.IsValid;
                     validator.IsValid = true;
                 }
                 if (!fValid)
                     return false;
              }
         }
         return true;
}

3)最后通过传递组名来检查你的代码中的上述方法,以检查该组是否有效。