ASP.NET 使用 HTML 5 提交按钮阻止表单验证
ASP.NET Prevent Form Validation with HTML 5 Submit Button
我正在尝试使用 HTML 5 按钮元素提交 ASP.NET 表单。我还希望它在单击时不触发验证。这将提交表单,但仍会触发验证:
<button runat="server"
CausesValidation="false"
type="submit"
name="myButton"
id="myButton">Press Here</button>
我特别尝试不使用 HTML 输入或 ASP:Button 元素。它们都可以工作,但不允许在按钮文本中使用 HTML(图像等..)。
我页面上的示例验证元素:
<asp:RequiredFieldValidator
ValidationGroup="myValGroup"
ControlToValidate="phone"
ID="phoneRequiredVal"
runat="server"
ErrorMessage="Phone is required."
Display="Dynamic"
CssClass="defaultErrorText"></asp:RequiredFieldValidator>
有什么想法吗?
尽管您使用 HTML 标记 (<button>
) 作为服务器端控件 (<button runat="server" ...>
),但 ASP.NET 服务器不希望此组件作为回发或回调发件人。结果,在表单提交期间,服务器端发生事件验证错误。
要解决此问题,请使用 ClientScriptManager.RegisterForEventValidation 方法将按钮注册为回发发件人:
public partial class _Default : System.Web.UI.Page
{
protected override void Render(HtmlTextWriter writer)
{
Page.ClientScript.RegisterForEventValidation("myButton");
base.Render(writer);
}
}
进入LinkButton控件。看起来这是我提交表单所需要的,在标签中有 HTML,并且能够停止验证:
<asp:LinkButton
runat="server"
CausesValidation="false"
CssClass="button fullWidth">Press Here</asp:LinkButton>
在此处找到:
How do I make a form submit with a LinkButton?
我正在尝试使用 HTML 5 按钮元素提交 ASP.NET 表单。我还希望它在单击时不触发验证。这将提交表单,但仍会触发验证:
<button runat="server"
CausesValidation="false"
type="submit"
name="myButton"
id="myButton">Press Here</button>
我特别尝试不使用 HTML 输入或 ASP:Button 元素。它们都可以工作,但不允许在按钮文本中使用 HTML(图像等..)。
我页面上的示例验证元素:
<asp:RequiredFieldValidator
ValidationGroup="myValGroup"
ControlToValidate="phone"
ID="phoneRequiredVal"
runat="server"
ErrorMessage="Phone is required."
Display="Dynamic"
CssClass="defaultErrorText"></asp:RequiredFieldValidator>
有什么想法吗?
尽管您使用 HTML 标记 (<button>
) 作为服务器端控件 (<button runat="server" ...>
),但 ASP.NET 服务器不希望此组件作为回发或回调发件人。结果,在表单提交期间,服务器端发生事件验证错误。
要解决此问题,请使用 ClientScriptManager.RegisterForEventValidation 方法将按钮注册为回发发件人:
public partial class _Default : System.Web.UI.Page
{
protected override void Render(HtmlTextWriter writer)
{
Page.ClientScript.RegisterForEventValidation("myButton");
base.Render(writer);
}
}
进入LinkButton控件。看起来这是我提交表单所需要的,在标签中有 HTML,并且能够停止验证:
<asp:LinkButton
runat="server"
CausesValidation="false"
CssClass="button fullWidth">Press Here</asp:LinkButton>
在此处找到: How do I make a form submit with a LinkButton?