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

发布于 2024-12-10 12:41:39 字数 1107 浏览 2 评论 0原文

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

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

I have this repeater where i have added some validation to a textbox. However, the button I wish to use to fire the validation is outside the repeater. Is this possible? If so, I'd rather use server side.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜声 2024-12-17 12:41:39

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

Yes you can. If you don't want the clientside validation to happen you can set the BaseValidator.EnableClientScript property to false. Validaton controls always performs validation on the server.

无可置疑 2024-12-17 12:41:39

使用中继器外部的按钮来验证中继器中的数据应该不会有任何问题。如果您想将验证范围限制为转发器,您可以使用 ValidationGroup

You shouldn't have any problems using a button outside of the repeater to validate data in the repeater. You can use a ValidationGroup if you want to limit the scope of the validation to the repeater.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文