2011-06-22 21 views
1

私はasp:buttonを含むupdatePanelを内部に持っています。今すぐボタンをクリックしたら、検証を行い、メッセージを画面に印刷したいと考えています。私はクライアント側のメッセージを表示したい<div>UpdatePanel - サーバー側からクライアント側divにエラーを表示

私はPageRequestManagerクラスのEndRequestメソッドを利用して、<div>のメッセージを印刷することができます。

エラーメッセージを非同期エラーメッセージにスローしてEndRequestメソッドから引き出す方法はありますか?

Plsはどんなアプローチも示唆しています。

私はマイクロソフトによって与えられた記事次試してみました: - http://msdn.microsoft.com/en-us/library/bb398934.aspx

この記事は、標準的なエラーメッセージで動作しますが、私はそれが私のカスタムエラーメッセージで動作するようにしたいです。

答えて

0

サーバーから検証呼び出しにjavascript呼び出しを追加し、呼び出しでエラー/文字列を渡してクライアント上のDIVを更新します。

例:サーバー上で

function ShowError(msg) 
{ 
    $get('divError').innerHTML = msg; 
} 

public btn_click(object sender,EventArgs e) 
{ 
string Errors = ""; 
//Validation Block; 
string script = "ShowError('(0}')"; 
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", string.Format(script,Errors),true); 
} 

私はこれが役に立てば幸い。クライアント側でリテラルエラーが発生しないように、ErrorMessageを正しくエンコードしてください。

+0

申し訳ありませんが、私の場合は解決策が機能しませんでした。ボタンは、updatePanel内にも存在します。私はそれを機能させるようにした。しかし、何も起こらなかった。何らかの理由でScriptManager.RegisterClientScriptBlockが機能しませんでした。 – Karan

+0

コードが機能しなかった理由は、関数のフォーマットされていない文字列です。 ShowError( 'ユーザー名を入力してください。\ n値' 'にエラーがあります)。返される文字列が有効なECMAScriptであることを確認してください.JS ERRORが発生しません。 –

関連する問題