2011-01-27 30 views
1

我有一個asp.net formview內的驗證摘要,驗證器似乎不會觸發驗證摘要。formview中的ASP.NET驗證摘要不起作用

事情我已經嘗試過:

  • 啓用一切的ViewState。
  • 將ClientID設置爲靜態。
  • 將ValidationGroup設置爲所有驗證器和摘要中的同一組。
  • 用Google搜索解決方案。

任何人有任何想法如何處理?

代碼。 FormView控件聲明:

<asp:FormView ID="FormViewPerson" runat="server" DataSourceID="ObjectDataSourcePerson" 
    DefaultMode="Edit" OnItemUpdating="FormViewPerson_ItemUpdating" OnItemCommand="FormViewPerson_ItemCommand" 
    OnItemUpdated="FormViewPerson_ItemUpdated" Width="100%"> 

與驗證文本框的任何:

<td> <asp:TextBox ID="NumberTextBox" runat="server" Text='<%# Bind("Number") %>' 
         TabIndex="10" CausesValidation="True" ClientIDMode="Static" /> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidatorNumber" runat="server" ControlToValidate="NumberTextBox" 
         ErrorMessage="Number is Required" ForeColor="Red" 
         ValidationGroup="EditPerson">*</asp:RequiredFieldValidator> 
       </td> 

而且提交按鈕:

<asp:ValidationSummary ID="ValidationSummaryPerson" runat="server" 
      ForeColor="Red" ClientIDMode="Static" CssClass="validation" 
      ShowMessageBox="True" ValidationGroup="EditPerson" ViewStateMode="Enabled" 
      /> 
     <asp:Button ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" 
      Text="Save" ValidationGroup="EditPerson" CssClass="ButtonStyle" TabIndex="90" /> 
     &nbsp;<asp:Button ID="EditCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" 
      Text="Cancel" CssClass="ButtonStyle" TabIndex="100" 
      ValidationGroup="EditPerson" /> 
+0

你能提供什麼你添加在formview.This將有助於解決問題。 – V4Vendetta 2011-01-27 09:39:04

+0

幾個文本框。沒什麼奇特的 – Erwin 2011-01-27 09:41:15

回答

1

希望該按鈕的CausesValidation設置爲true。

0

嗯,我解決了這個問題。如果有其他人遇到此問題,請嘗試以下操作:

  • 確保整個表單上只有一個(1)驗證組。
  • 在submitbutton上設置「causevalidation」爲「true」。
  • 檢查,雙重檢查和三重檢查您的驗證組屬性在所有相關控件上的拼寫。
  • 請注意您客戶端腳本中的javascript錯誤。他們可能會造成嚴重破壞。