2012-02-17 98 views
1

我使用兩個驗證總結,但他們不顯示錯誤message.While所需的字段校驗工作,但驗證摘要不顯示,所以我的問題是。
我想顯示錯誤消息。驗證摘要不顯示在GridView中

<div> 
     <asp:GridView ID="GrdHiringResource" runat="server" AutoGenerateColumns="False" DataKeyNames="hiring_resource_id" 
      OnRowCancelingEdit="GrdHiringResource_RowCancelingEdit" OnRowDataBound="GrdHiringResource_RowDataBound" 
      OnRowEditing="GrdHiringResource_RowEditing" OnRowUpdating="GrdHiringResource_RowUpdating" 
      OnRowCommand="GrdHiringResource_RowCommand" ShowFooter="True" OnRowDeleting="GrdHiringResource_RowDeleting" 
      BackColor="White" BorderColor="#D1B271" BorderStyle="None" BorderWidth="1px" 
      CellPadding="4"> 
      <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" BorderColor="#D1B271" /> 
      <RowStyle BackColor="White" ForeColor="#000000" BorderColor="#D1B271" /> 
      <Columns> 
       <asp:TemplateField HeaderText="Hiring Resource name" SortExpression="Location_name"> 
        <EditItemTemplate> 
         <asp:TextBox ID="txtName" runat="server" Text='<%# Eval("hiring_resource_name") %>' ></asp:TextBox> 
         <asp:RequiredFieldValidator ID="ReqName" ValidationGroup="update" Display="Dynamic" 

          runat="server" ControlToValidate="txtName" ErrorMessage="Please enter ResourceName">*</asp:RequiredFieldValidator> 
        </EditItemTemplate> 
        <FooterTemplate> 
         <asp:TextBox ID="txtNewName" runat="server"></asp:TextBox> 
         <asp:RequiredFieldValidator ID="ReqNewname" runat="server" ValidationGroup="save" 
          ControlToValidate="txtNewName" ErrorMessage="Please enter ResourceName" Display="Dynamic" 
>*</asp:RequiredFieldValidator> 
        </FooterTemplate> 
        <ItemTemplate> 
         <asp:Label ID="Label2" runat="server" Text='<%# Bind("hiring_resource_name") %>' ></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Description"> 
        <EditItemTemplate> 
         <asp:TextBox ID="txtdescription" runat="server" TextMode="MultiLine" Text='<%# Bind("description") %>'></asp:TextBox> 
          <asp:RequiredFieldValidator ID="Reqdescription" ValidationGroup="update" Display="Dynamic" 

          runat="server" ControlToValidate="txtdescription" ErrorMessage="Please enter Description">*</asp:RequiredFieldValidator> 
        </EditItemTemplate> 
        <FooterTemplate> 
         <asp:TextBox ID="txtNewdescription" runat="server" TextMode="MultiLine" ></asp:TextBox> 
         <asp:RequiredFieldValidator ID="ReqNewDescription" runat="server" ControlToValidate="txtNewdescription" 
          ErrorMessage="Please enter Description" ValidationGroup="save" Display="Dynamic">*</asp:RequiredFieldValidator> 
        </FooterTemplate> 
        <ItemTemplate> 
         <asp:Label ID="Label3" runat="server" Text='<%# Bind("description") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="" ShowHeader="False"> 
        <EditItemTemplate> 
         <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update" 
          Text="Update" ValidationGroup="update"></asp:LinkButton> 
         <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" 
          Text="Cancel"></asp:LinkButton> 
        </EditItemTemplate> 
        <FooterTemplate> 
         <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="true" CommandName="AddNew" 
          Text="Add New" ValidationGroup="save"></asp:LinkButton> 
        </FooterTemplate> 
        <ItemTemplate> 
         <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit" 
          Text="Edit"></asp:LinkButton> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:CommandField HeaderText="" ShowDeleteButton="True" ShowHeader="True" /> 
      </Columns> 
      <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" BorderColor="#D1B271" /> 
      <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" BorderColor="#D1B271" /> 
      <HeaderStyle BackColor="#D1B271" Font-Bold="True" ForeColor="#000000" HorizontalAlign="Center" 
       BorderColor="#D1B271" /> 
     </asp:GridView> 

    <asp:ValidationSummary runat="server" ID="update" DisplayMode="BulletList" ShowMessageBox="true" 
ShowSummary="false" EnableClientScript="false"/> 
    <asp:ValidationSummary runat="server" ID="save" DisplayMode="BulletList" ShowMessageBox="true" 
ShowSummary="false" EnableClientScript="false"/> 
     </div> 

回答

1

,我認爲這是問題,設置該屬性真

EnableClientScript="true" 

更新:明白你的問題,是T他的ValidationGroup,無論是ValidationGroup屬性添加到的ValidationSummary或​​RequiredFieldValidators

<asp:ValidationSummary runat="server" ID="update" DisplayMode="BulletList" ValidationGroup="update"/> 
<asp:ValidationSummary runat="server" ID="save" DisplayMode="BulletList" ValidationGroup="save"/> 
+0

不行不行 – 2012-02-17 06:13:15

+0

任何人都可以幫到我.. – 2012-02-17 10:01:10

+0

是的,儘可能多。檢查我的更新! – Mubarek 2012-02-17 23:11:12

1

我建議你使用驗證組。另外,爲EditItemTemplate驗證器和頁腳驗證器創建單獨的ValidationGroups。這將防止其他人開火。該參考也將幫助你:

參考:Validation Groups

1

嘗試設置ShowSummary = 「true」 或ShowMessageBox = 「真」

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.aspx

+0

刪除valiationGroup我已經使用ShowSummary =「true」或ShowMessageBox =「真」,但它不工作 – 2012-02-17 05:51:17

+0

我沒有過滾動並閱讀抱歉。嘗試設置EnableClientScript =「true」 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.enableclientscript.aspx – 2012-02-17 05:56:31

+0

EnableClientScript =「true」不工作我正在嘗試這個 – 2012-02-17 05:58:13