我有这个转发器,我在文本框中添加了一些验证。但是,我希望用于触发验证的按钮位于转发器之外。这可能吗?如果是这样,我宁愿使用服务器端。
<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>
答案 0 :(得分:2)
是的,你可以。如果您不希望发生客户端验证,则可以将BaseValidator.EnableClientScript属性设置为false。验证控件始终在服务器上执行验证。
答案 1 :(得分:1)
使用转发器外部的按钮验证转发器中的数据应该没有任何问题。如果要将验证范围限制为转发器,则可以使用ValidationGroup
。