gpt4 book ai didi

c# - GridView 中的验证不适用于 EditItemTemplate 中的 TextBox

转载 作者:行者123 更新时间:2023-11-30 20:59:25 33 4
gpt4 key购买 nike

我正在尝试为 GridView 控件中的 EditItemTemplate 中的文本框添加 RegularExpressionValidator

当用户点击“更新”时,如果输入错误,验证器工作(错误消息可见)。但是,在 OnRowUpdating 方法中,我有 Page.IsValid==true。为什么会这样?

ASPX代码:

<asp:GridView ID="dgvsaldoPV" runat="server" Visible="False" AutoGenerateColumns="False" 
ShowFooter="True" AllowSorting="True" OnSorting="TaskGridView_SortingSaldoPV" OnRowEditing="gv1_RowEditing"
OnRowUpdating="gv1_RowUpdating" onRowCancelingEdit="gv1_RowCancelingEdit" DataKeyNames="ID_CASSA">
<AlternatingRowStyle BackColor="#FFFFCC" />
<Columns>

<asp:TemplateField HeaderText="Saldo" InsertVisible="False" SortExpression="SALDO" >
<EditItemTemplate >
<asp:TextBox ID="txtsaldo" runat="server" validationgroup="saldo" Text='<%# Bind("SALDO") %>'></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtsaldo"
ErrorMessage="Inserisci valori numerici, usare ',' per i decimali" ValidationExpression="^\d*\,?\d+$" validationgroup="saldo"
ForeColor="Red" ></asp:RegularExpressionValidator>
</EditItemTemplate>
<ItemTemplate >
<asp:Label ID="Label1" runat="server" Text='<%# Bind("SALDO") %>'></asp:Label>
</ItemTemplate>
<ItemStyle CssClass="style11" />
</asp:TemplateField>

<asp:CommandField ShowEditButton="True" ShowHeader="false" HeaderStyle-CssClass="headerstyle1"/>
</Columns>
<FooterStyle BackColor="#CC0000" ForeColor="White" />
<HeaderStyle CssClass="headerstyle" />
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle"/>

</asp:GridView>

最佳答案

试着打电话

Page.Validate();

GridView.RowUpdating 事件的开头。这将强制检查所有服务器端验证器。我希望到那时已经调用了它,但听起来并非如此。

如果您的 GridViewUpdatePanel 中执行部分 PostBack,或者导致 PostBack 触发的控件未设置为导致验证(它是 . CausesValidation 属性设置为 false),那么我可以想象 Page.IsValid 属性尚未正确填充。

关于c# - GridView 中的验证不适用于 EditItemTemplate 中的 TextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547207/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com