1

たくさんのテキストボックスと、何かを更新するための保存ボタンがあります。[保存]をクリックすると、コードビハインドファイルに正しく入力されているかどうかを判断するコードが表示されます。

正しく記入されていない場合は、アラートの形でエラーメッセージを表示したいと思います。

これを行うための最良の方法は何ですか?ボタンを押すと明らかにページがポストバックになるので、URLに何かを追加することを考えましたmypage.aspx?errormessage=blahblahが、これが最善の方法なのか、それともその方法なのかわかりません...

助言がありますか?

4

7 に答える 7

3

ポストバックと同様に、モーダルアラートは悪いです。サーバーへのラウンドトリップなしで、クライアント側で可能な限りチェックするようにしてください。邪魔にならない検証方法については、jQuery検証プラグインを参照してください。

于 2009-09-18T09:15:19.600 に答える
1

CustomValidatorを使用して、アラートボックスを表示するクライアント側スクリプトをトリガーできますか?

于 2009-09-18T09:17:06.650 に答える
1

サーバー側のエラー処理コードで ClientScript.RegisterStartupScript() メソッドを使用して、alert('message') を呼び出す JavaScript スニペットを次のように記述できます。

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

ただし、代わりにバリデーターを使用することをお勧めします。独自のカスタム バリデータを実装する場合は、送信前に実行できるクライアント側スクリプトを発行して、ポストバックを完全に回避できます。

バリデーターの良いところは、ページ上の ValidatorSummary にエラー メッセージを表示できることです。

于 2009-09-18T09:23:59.430 に答える
0

まず、モーダルアラートボックスをユーザーに表示することはお勧めしません。

サーバー側のコードからjavascript関数を呼び出すことができ、その関数でエラーをポップアウトできます。

または、AJAXリクエストを発行し、サーバー側で検証した後、クライアントにレスポンスを送り返すことができます。

于 2009-09-18T09:15:13.157 に答える
0

ASP.NETのさまざまな検証コントロール(クライアント側の検証が有効になっている)と、適切なエラーメッセージや要約メッセージを組み合わせると、ほとんどのシナリオで十分です。

「AJAXの感触と動作」については、コントロールを更新パネルに配置することも簡単に実装できます。

于 2009-09-18T09:19:13.933 に答える
0

古いバリデーターを可能な限り使用し、JavaScript をクライアントにレンダリングするため、これらのコントロールを使用して多くの検証を行うことができ、それらがすべて満足している場合にのみ、ページの送信が許可されます。

それらはすべての送信で起動するため、すべての送信アクションでそれらを起動したくない場合は、コントロールを検証グループの一部にします。

正規表現を使用して入力を検証し、フィールドに値があり、さらにいくつかの値があることを確認できます。

次に、「メッセージ」を宣言するプロパティと、すべてのバリデータ メッセージを表示するコントロールがあります。すべてが非常に素晴らしく、IDE に組み込まれています。

バリデータコントロールをチェックしてください。

于 2009-09-18T09:21:50.307 に答える
0

ボタン クリック イベントで次のコードを試してください。

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

警告メッセージが表示されます。

それ以外の場合は、aspx ページにラベルを付けて、page_load イベントで visible false を設定します。ボタン イベントでエラーが発生した場合は、ラベルの可視性を「true」に設定し、ラベル テキストにエラー メッセージを入力します。

于 2009-09-18T09:32:10.967 に答える