2011-10-17 62 views
0

我有這個中繼器,我已經添加了一些驗證到文本框。但是,我希望用來觸發驗證的按鈕位於中繼器之外。這可能嗎?如果是這樣,我寧願使用服務器端。中繼器文本框驗證在C#中使用按鈕事件#

<asp:Repeater ID="rptCart" runat="server" onitemcommand="Cart_ItemCommand" onitemdatabound="Cart_ItemDataBound"> 
    <ItemTemplate> 
     <asp:TextBox ID="cartQty" runat="server" Text='<%#Eval("shoppingCartQty")%>'></asp:TextBox></span> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="oops!" ControlToValidate="cartQty" CssClass="errortxt" Display="Dynamic"></asp:RequiredFieldValidator><asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="oops!" ValidationExpression="^[0-9]*[1-9]+[0-9]*$" CssClass="errortxt" ControlToValidate="cartQty" Display="Dynamic"></asp:RegularExpressionValidator></span> 
    </ItemTemplate> 
</asp:Repeater> 

<asp:LinkButton ID="cartRecalcButton" CssClass="cartrecalcbutton" 
    runat="server" ToolTip="recalculate your shopping cart" 
    onclick="cartRecalcButton_Click">&nbsp; 
</asp:LinkButton> 
+0

如果你想驗證服務器端的東西,那麼不需要使用FieldValidator控件。將帶有ID的span標籤添加到在服務器上運行的標記中,然後在「Button_Click」事件中將其更改爲「InnerHtml」。 – fardjad

回答

2

是的,你可以。如果您不希望客戶端驗證發生,您可以將BaseValidator.EnableClientScript屬性設置爲false。 Validaton控件始終在服務器上執行驗證。

1

使用中繼器外部的按鈕驗證中繼器中的數據時,您應該沒有任何問題。如果您想將驗證範圍限制爲中繼器,則可以使用ValidationGroup

相關問題