0

私のASP.NetWebアプリケーションには、ProductIdを受け取るためのテキストボックスがあります。ユーザーがProductIdテキストボックスにデータを入力して次のテキストボックスに移動するときに、テーブルに対してデータを検証し、一致するレコードが見つかった場合は、製品の詳細をさまざまなコントロール(読み取り専用および通常のテキストボックス)に表示します。 「新製品」に関するメッセージを表示して続行します。ユーザーがすべてのデータを入力して[保存]ボタンを押した後に検証を実行したくありませんが、すぐに実行する必要があります。WebフォームテキストボックスにLostFocusイベントが発生することを期待していましたが、要件の処理方法がわかりません。

4

2 に答える 2

1

ASP.NETバリデーターには、ajaxスタイルの即時チェックはありません。

  1. 検証メソッドのサーバー側に接続するカスタムバリデーターをテキストボックスにアタッチします。
  2. javascriptを使用して、eventhandlerをfocusoutイベントに接続し、ajax呼び出しを行う必要があります。その呼び出しは値をサーバーに送り返し、有効かどうかの応答を取得します。

このサイト: http: //brian.dobberteen.com/code/jquery_ajax_custom_validator/は多くのことを支援しますが、1つは、ページが送信されたときにのみ起動することです。追加のイベントハンドラーをテキストボックスに接続して、focusoutで検証メソッドを呼び出す必要があります。

于 2012-09-15T16:55:19.973 に答える
0

それは簡単な解決策です、この記事を読んでください:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.servervalidate.aspx

サーバーの検証をトリガーするには、JavaScript呼び出しを実行するだけで、イベントonlostfocusを使用できます。

于 2012-09-15T16:56:11.590 に答える