使用C#中的按钮事件进行转发器文本框验证

时间:2011-10-17 16:35:46

标签: c# asp.net validation repeater

我有这个转发器,我在文本框中添加了一些验证。但是,我希望用于触发验证的按钮位于转发器之外。这可能吗?如果是这样,我宁愿使用服务器端。

<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>

2 个答案:

答案 0 :(得分:2)

是的,你可以。如果您不希望发生客户端验证,则可以将BaseValidator.EnableClientScript属性设置为false。验证控件始终在服务器上执行验证。

答案 1 :(得分:1)

使用转发器外部的按钮验证转发器中的数据应该没有任何问题。如果要将验证范围限制为转发器,则可以使用ValidationGroup