1

PostBackUrl我有一个 Web 应用程序,如果表单有效,提交使用来显示数据。

我需要使用不同的(服务器端)验证组,具体取决于radiobutton选择的内容。也就是手动调用

Page.Validate('ValidationGroupA').

Page.IsValid就正确分配的真或假而言,验证本身工作正常。

但是,如果页面无效,页面将重定向到PostBackUrl提交按钮上指定的页面,在该页面发现页面无效,客户端重定向回:

if (!PreviousPage.IsValid){Response.Redirect("DataEntryPage.aspx");})

但是,通过反复来回,所有表单数据都会丢失,并且不会显示相关的验证控件和摘要。

是否有任何等效的 JavaScriptevt.preventDefault()或其他方式,一旦在手动调用后检测到验证失败,Page.Validate将表单发回并显示适当的验证错误?

4

2 回答 2

0

使用 ASP.Net 客户端验证。

jQuery 代码(在提交按钮的 onclick 上调用它):

  $("#SubmitButtonID").click(function (e) {
      Page_ClientValidate('ValidationGroupA');
      if (!Page_IsValid)
      {
         e.preventDefault();
      }
  });
于 2012-10-31T05:42:18.553 回答
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); }
}
于 2012-10-31T22:21:40.447 回答