gpt4 book ai didi

c# - 如何启用基于页面控件的禁用验证器?

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:57 24 4
gpt4 key购买 nike

我有一个如下所示的 gridView。

<asp:GridView ID="grvLocationCash" runat="server" AutoGenerateColumns="false" CssClass="gridtable" DataKeyNames="LocationId">
<Columns>
<asp:BoundField HeaderText="Location Name" DataField="LocationName" />
<asp:TemplateField HeaderText="Amount">
<ItemTemplate>
<asp:TextBox ID="txtAmount" runat="server" CssClass="txtbox" Visible="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvAmount" runat="server" ControlToValidate="txtAmount" ErrorMessage="Please enter the Amount" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rgvAmount" runat="server" ControlToValidate="txtAmount" ValidationExpression="^\d+$" ErrorMessage="Please enter whole numbers only" Display="Dynamic" SetFocusOnError="true"></asp:RegularExpressionValidator>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

和一个带有以下代码的保存按钮。

  <asp:Button ID="btnLocationAmountList" runat="server" OnClick="btnLocationAmountList_Click" Text="Save" Width ="100px" />

gridview绑定(bind)后,里面大概有20行。当我在第一行的文本框中输入数字并按 Enter 键转到第二个文本框时,Required Field Validator 会为所有其他 19 行触发。

但是,如果我在第一个文本框中键入数字并在下一个文本框中单击鼠标,则不会触发 RequiredFieldValidator。

仅当单击保存 按钮时才必须验证页面。保存前必须为所有文本框输入值,并且所有值必须仅为整数。 (11,125,6589 等)。如何为特定控件启用禁用验证器?

更新:这是我的类文件中的 page_load 事件代码。

        protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}


protected void BindGrid()
{
FinanceServiceRef.FinanceServiceClient obj = new FinanceServiceRef.FinanceServiceClient("WSHttpBinding_IFinanceService");
var ds = obj.ViewLocationAmountCashManagement();
grvLocationCash.DataSource = ds;
grvLocationCash.DataBind();
}

最佳答案

您需要在每个 ItemTemplate 的每个文本框中处理 onkeydown,如下所示:

onkeydown = "return (event.keyCode!=13);"

<asp:TemplateField HeaderText="Amount">
<ItemTemplate>
<asp:TextBox ID="txtAmount" runat="server" CssClass="txtbox"
Visible="true"
onkeydown = "return (event.keyCode != 13);">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>

Note: The Enter key has a keyCode value of 13.

关于c# - 如何启用基于页面控件的禁用验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20198470/

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