MasterPage中的ValidationSummary隐藏成功标签

时间:2013-03-08 11:35:43

标签: c# asp.net master-pages validationsummary

我在ValidationSummary中有SuccessLabelMasterPage 如果SuccessLabel中包含详细信息,然后ValidationSummary验证失败,我希望它隐藏SuccessLabel并仅显示ValidationSummary

<div id="ApplicationStatus" class="ValidationSummaryContainer">
    <asp:Label ID="StatusLabel" CssClass="SuccessSummary" runat="server" 
       Visible="false"></asp:Label>
    <asp:Label ID="WarningLabel" CssClass="WarningSummary" runat="server" 
        Visible="false"></asp:Label>
    <asp:ValidationSummary ID="ErrorValidationSummary" runat="server" 
           CssClass="ValidationSummary" DisplayMode="List"  />
    <asp:CustomValidator ID="ErrorCustomValidator" runat="server"></asp:CustomValidator>
</div>
<div id="ApplicationContent" class="ApplicationContentContainer">
    <asp:ContentPlaceHolder ID="MainContent" runat="server">
    </asp:ContentPlaceHolder>
</div>

protected void Page_Load(object sender, EventArgs e)
{
        if (!IsPostBack)
        {
            StatusLabel.Text = "Successfully loaded record";
        }
}


<asp:Content ID="Content1" ContentPlaceHolderID="MainContentPlaceHolder" runat="server">
       <asp:Textbox ID = "Text1" runat="server"/>
        <asp:RequiredFieldValidator id="InputTextBoxRequiredFieldValidator" runat="server" 
          ControlToValidate="Text1" Visible="false" CssClass="InlineNoWrap" Enabled="true">  
        </asp:RequiredFieldValidator>
        <asp:Button ID = "Button1" runat="server" Text="Submit"/>
 </asp:Content>

我正在尝试在JavaScript中找到一种方法来捕获验证错误并隐藏StatusLabel。 我不想在每个使用MasterPage的页面上的每个按钮上放置一个javascript函数。

谢谢, 亚历

2 个答案:

答案 0 :(得分:0)

这样的事情怎么样:

    protected void Submit(object sender, EventArgs e)
    {
        if (IsValid)
        {
            StatusLabel.Visible = true;
        }
        else
        {
            StatusLabel.Visible = false;                
        }
    }

答案 1 :(得分:0)

您的验证码完全错过很多字段。

好的,现在我们要去你的品脱了。

  1. 在页面加载事件的标签中设置可见的false
  2. 然后成功时间添加标签文本,并设置visible true
  3. 您错过了对验证和验证组的控制并显示字段
  4. 请参阅此sample