1

Web アプリケーションがありPostBackUrl、フォームが有効な場合、送信は を使用してデータを表示します。

選択内容に応じて、異なる (サーバー側) 検証グループを使用する必要がありますradiobutton。つまり、手動で呼び出す

Page.Validate('ValidationGroupA').

Page.IsValid正しく割り当てられた true または falseに関して、検証自体は正常に機能しています。

ただし、ページが有効でない場合、ページは送信ボタンで指定されたページにリダイレクトされ、ページPostBackUrlが有効ではないことが判明し、クライアントは次のようにリダイレクトされます。

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

ただし、ここまで行ったり来たりすると、すべてのフォーム データが失われ、関連する検証コントロールと概要が表示されなくなります。

適切な検証エラーが表示された状態でフォームをポストバックするための手動呼び出しの後に検証が失敗したことが検出された場合、JavaScriptevt.preventDefault()またはその他の方法に相当するものはありますか?Page.Validate

4

2 に答える 2

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 に答える
0

ASP.Net クライアント側の検証を使用します。

jQuery コード(送信ボタンの onclick でこれを呼び出します):

  $("#SubmitButtonID").click(function (e) {
      Page_ClientValidate('ValidationGroupA');
      if (!Page_IsValid)
      {
         e.preventDefault();
      }
  });
于 2012-10-31T05:42:18.553 に答える