我有一个中继器,我已经在一个文本框中添加了一些验证。但是,我希望用来触发验证的按钮在中继器之外。这个是可能的吗?如果是这样的话,我更愿意使用服务器端。
<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">
</asp:LinkButton>
发布于 2011-10-18 02:59:18
是的你可以。如果不希望客户端验证发生,可以将BaseValidator.EnableClientScript属性设置为false。Validaton控件始终在服务器上执行验证。
发布于 2011-10-18 00:45:56
使用中继器外部的按钮来验证中继器中的数据应该不会有任何问题。如果要将验证范围限制为中继器,则可以使用ValidationGroup
。
https://stackoverflow.com/questions/7796772
复制相似问题