【问题标题】:How to validate a textbox in a gridview of that specific row?如何验证该特定行的网格视图中的文本框?
【发布时间】:2017-10-16 22:22:33
【问题描述】:

这是我的 aspx 代码:

    <asp:TemplateField HeaderText="Enter_Quantity" >
    <ItemTemplate>
    <asp:TextBox ID ="TextBox1" runat="server" DataField="Total_Quantity" />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Please add a quantity"> </asp:RequiredFieldValidator>
   </ItemTemplate>
   </asp:TemplateField>

   <asp:TemplateField>
    <ItemTemplate>
    <asp:Button ID ="Button7" runat="server" OnClick="Button7_Click" CommandArgument="Button7" CommandName="Select" Text="Add To Cart" CausesValidation ="true" />
    </ItemTemplate>
    </asp:TemplateField>

请注意,按钮位于每个 Gridview 行中,并且文本框列位于每个 Gridview 行中。 我面临的问题是,当我将文本框保持为空然后单击按钮时。它显示错误消息“请添加数量”。但它显示在每个 Gridview 行中。我想为特定的 GridView 行显示此错误消息。 我该如何解决这个问题? 有人可以更正我的 aspx 代码吗?

【问题讨论】:

标签: asp.net


【解决方案1】:

设置CauseValidation = "false"

它允许您从特定控件中删除验证。假设您在页面中使用了两个按钮,但您只想验证一个按钮。但根据 ASP 规则,所有按钮都会验证您的表单,因为默认情况下是 CausesValidation = true

【讨论】:

  • 它允许您从特定控件中删除验证。假设您在页面中使用了两个按钮,但您只需要一个按钮来验证。但根据 ASP 规则,所有按钮都会验证您的表单,因为 CausesValidation= true 默认情况下。
  • 欢迎来到 Stack Overflow!感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。一个正确的解释would greatly improve 它的长期价值通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多