我有一个Web应用程序,如果表单有效,则提交使用PostBackUrl
来显示数据。
我需要使用不同的(服务器端)验证组,具体取决于所选的radiobutton
。也就是说,手动调用
Page.Validate('ValidationGroupA').
根据Page.IsValid
正确分配的真或假,验证本身工作正常。
但是,如果页面无效,页面将重定向到提交按钮上PostBackUrl
指定的页面,其中发现页面无效,并且客户端重定向为:
if (!PreviousPage.IsValid){Response.Redirect("DataEntryPage.aspx");})
然而,通过到达此处并返回,所有表单数据都将丢失,并且不会显示相关的验证控件和摘要。
是否有任何等效的JavaScripts evt.preventDefault()
或其他方式,一旦检测到验证失败后,手动调用Page.Validate
将表单发回并显示适当的验证错误?
答案 0 :(得分:0)
使用ASP.Net客户端验证。
jQuery代码(在提交按钮的onclick上调用它):
$("#SubmitButtonID").click(function (e) {
Page_ClientValidate('ValidationGroupA');
if (!Page_IsValid)
{
e.preventDefault();
}
});
答案 1 :(得分:0)
我最终删除了PostBackUrl指令,并为提交按钮使用了onclick事件
protected void Submit_Click(object sender, EventArgs e)
{
if (chartTypeRadio.Text != "bolus") { Page.Validate("age"); }
if (Page.IsValid) { Server.Transfer("~/PatientSpecificDrugChart.aspx", true); }
}