質問

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

それらが正しく入力されていない場合、エラーメッセージをアラートの形式で表示したいです。

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

提案はありますか

役に立ちましたか?

解決

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

他のヒント

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

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

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

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

バリデーターの良い点は、ページのValidatorSummaryにエラーメッセージを表示できることです。これにより、lyいアラートボックスが回避されます。

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

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

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

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

「AJAX feel and behaviour」の場合、コントロールをupdatepanelに配置することも簡単に実装できます。

旧式のバリデーターをpossと同じくらい使用し、クライアントにjavascriptをレンダリングするので、これらのコントロールを使用して多くの検証を行うことができ、すべてが満足された場合のみページが送信できます。

すべてのサブミットで発動するため、すべてのサブミットアクションで発動したくない場合は、コントロールを検証グループの一部にします。

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

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

検証コントロールを確認してください。

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

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

アラートメッセージが表示されます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top