更改 asp 按钮行为
Posted
技术标签:
【中文标题】更改 asp 按钮行为【英文标题】:change the asp button behaviour 【发布时间】: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 在表单中还有一个为什么要使用必需的标签?只需将逻辑放入您的按钮代码中即可。
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% 的情况下,我们假设会输入一些文本,那么在事情的范围内遭受一次千载难逢的回帖应该并不重要,不是吗?
我只是将逻辑放在按钮事件代码中,并不太担心这些。
【讨论】:
以上是关于更改 asp 按钮行为的主要内容,如果未能解决你的问题,请参考以下文章
如何在不影响密码更改行为的情况下正确防止 ASP.NET Identity 2.2.1 中的多个活动会话?