【问题标题】:change the asp button behaviour更改 asp 按钮行为
【发布时间】:2021-12-07 07:41:54
【问题描述】:

当使用 ASP.NET Web 应用程序 (.NET Framework) 模板创建表单时,我有一个包含字符串和 2 个按钮的 TextBox,一个重置表单并提交表单...填写表单时,“reset”按钮的工作方式与“submit”按钮相同,因为如果用户单击重置按钮时文本框为空,则会触发“必需”标签。我似乎无法让按钮行为正常工作。

有没有办法设置“reset”按钮不触发文本框“required”标签?

我的代码示例;

<h3>Account Number</h3>
<asp:TextBox ID="AccountNumber" name="AccountNumber" MaxLength="18" placeholder="2347655454" required="required" runat="server" Width="300px" Height="40px" Font-Size="Large"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Reset Form" Width="300" Height="50px" Font-Bold="True" BorderColor="Black" BorderStyle="Solid" BorderWidth="2px" ForeColor="Black" OnClick="reset_Click" />
<br />
<asp:Button ID="Button2" runat="server" Text="Submit Form" Width="300" Height="50px" Font-Bold="True" BorderColor="Black" BorderStyle="Solid" BorderWidth="2px" ForeColor="Black" OnClick="Mong_Click" />

【问题讨论】:

  • 为什么不直接使用标准的 HTML 这样就不会触发表单发布。你仍然可以使用 CSS 来设置样式。
  • 发生此行为是因为您在单击任何按钮时执行回发。这会导致所需的标签被触发。您可以尝试将文本框的 ReadOnly 属性设置为 false。
  • @davidP 在表单中还有一个
  • @Proliges 刚刚尝试了 ReadOnly 属性选项,仍然得到相同的行为。

标签: c# html asp.net visual-studio-2019


【解决方案1】:

为什么要使用必需的标签?只需将逻辑放入您的按钮代码中即可。

if (Textbox1.Text == "") {
   // logic here to tell user they have to enter some data
   // you can even use registerscript and pop open a client side
   // dialog
   return
  }

所以,既然在 99% 的情况下,我们假设会输入一些文本,那么在事情的范围内遭受一次千载难逢的回帖应该并不重要,不是吗?

我只是将逻辑放在按钮事件代码中,并不太担心这些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多