2012-04-14 8 views
0

別のaspxページにグラフを作成するWebアプリケーションがあります。ユーザ指定にエラーがあるため(整数が期待される文字列など)、グラフを仕様に作成できないことがあります。ASP.net:画像レンダリング中にクライアントサイドスクリプトを即座にトリガーする

グラフをレンダリングしようとしたときに何かが間違っていたことを知らせるアラートウィンドウをすぐにポップアップしたいと思います。

問題は、アラートウィンドウのスクリプトを挿入する必要があるかどうかをすぐに確認する方法がわかりません。 "chart.aspx"(画像URL)のコードが実行されると、メインページから何かが間違っているかどうかをすぐに確認する方法はわかりません。私はそれがchart.aspxのコードで起こったことを知っていますが、イメージをレンダリングしたり別のイメージをレンダリングしたりする以外に、別のポストバックの前にユーザーに伝える方法がわかりません。画像の1つがレンダリングされた後で、ページライフサイクルにソートやイベント、ステージがあるかどうかを確認したいと思います。

これが可能でない場合、単なる画像の場合、chart.aspxがdefault.aspxにエラーメッセージをどのように伝えることができますか。多分Response.Write(...?)のいくつかの並べ替え

おかげでもう一度みんな。

答えて

1

多分、画像のロードイベントを監視し、javascriptを使ってonabortとonerrorを処理できますか?

http://www.w3schools.com/jsref/dom_obj_image.asp

これを行うの古い学校の方法は下記のようなあなたのイメージタグをレンダリングすることであろう画像オブジェクトイベント

Event  The event occurs when... 
onabort Loading of an image is interrupted 
onerror An error occurs when loading an image 
onload  An image is finished loading 

:今日で

<img src="chart.aspx" onerror="alert('Image failed to load because XYZ.');" /> 

、私はあなたをお勧めしますjqueryを使用してください:

<img src="placeholder.gif" class="chart" alt="chart"> 

<script type="text/javascript"> 
    jQuery(function($) { 
     var img = $(document.createElement('img')); 
     img.on('error', function() { alert ('...'); }); 
     img.on('load', function() { $('img.chart').attr('src', img[0].src); }); 
    }); 
+0

興味深いですが、どうすればaspとjavascriptコードを接続できますか?それは正しいjavascriptイメージでなければならないでしょうか?おそらく、私は常に "chart.aspx"を指し、適切なonerror属性を持つjavascriptイメージを持つことができました。イメージがロードしようとしたときに、Session ["blah"]型フラグを介してそれが必要かどうかをチェックします。 onerrorはjavascript警告関数を呼び出すだけです。これはいい計画のように聞こえる? – Chad

+0

それはトリックでした!ヘッドアップありがとう – Chad

+0

私は自分自身でそれをやる方法の例を使って投稿を更新しました。 – Chris

関連する問題