2011-10-07 62 views
0
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Height="146px" 
      Width="308px"> 
      <Columns>    
        <asp:TemplateField HeaderText="Original Price" ControlStyle-Width="100px"> 
        <ItemTemplate> 
         <asp:TextBox ID="txtOriginalPrice" runat="server"></asp:TextBox> 
         <asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtOriginalPrice" 
         ValidationGroup="GridView1" Display="Static" ErrorMessage="" Text="*"></asp:RequiredFieldValidator> 

        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

我使用上面的代碼,但它不工作,雖然我已經把requirefield驗證它不顯示我的「*」如何將必填字段驗證器提供給gridview中的文本框?

+0

現在確定導致驗證的按鈕是否分配了驗證組?像' V4Vendetta

回答

1

如果你需要驗證被然後進行檢查這樣的事情

<asp:Button ID="btnAdd" runat='server' ValidationGroup='GridView1' CausesValidation='true'.....

所以現在,當您單擊添加按鈕,它會驗證那些你提到的其他驗證組下下降控制默認值是「」,因此您不會找到任何驗證觸發。

+0

我在屏幕上有其他元素進行驗證。這是否只導致驗證gridview? – Heena

+0

它將驗證標記爲「GridView1」的組 – V4Vendetta

2

是的,您的requiredfieldvalidator肯定存在,它知道要驗證哪個控件。缺少的是「何時驗證該控件」。並且要回答此問題,您需要將您的文本框與您的requiredfieldvalidator相同的ValidationGroup添加到也控制(這可以是例如按鈕)導致做驗證。所以你的代碼會像

<%--<asp:Button ID="Button1" runat="server" ValidationGroup="GridView1" Text="Benjamin"...Somewhere in your code--%>  
    <asp:TextBox ID="txtOriginalPrice" runat="server" ValidationGroup="GridView1"></asp:TextBox> 

所以,不要忘記這些問題

  1. 驗證什麼? (文本框)
  2. 驗證時間?(點擊按鈕後)
  3. 後採取什麼行動嘗試驗證?(點擊按鈕)
  4. 用什麼來驗證?(一個RequiredFieldValidator)

所有這些控件都必須具有相同的ValidationGroup。