0

別のaspxページにグラフを作成するWebアプリケーションがあります。ユーザー指定にエラーがあるため(整数が期待される文字列など)、グラフを指定どおりに作成できない場合があります。

グラフをレンダリングしようとしたときに問題が発生したことを通知するアラートウィンドウをすぐにポップアップしたいと思います。

問題は、アラートウィンドウのスクリプトを挿入する必要があるかどうかをすぐに確認する方法がわからないということです。「chart.aspx」(画像のURL)のコードを実行すると、メインページで問題が発生したかどうかをすぐに確認する方法がわかりません。chart.aspxのコードで発生したことは知っていますが、画像をレンダリングしない、または別の画像をレンダリングしないことを除いて、別のポストバックの前にユーザーに通知する方法がわかりません。画像の1つがレンダリングされた後、ページのライフサイクルに何らかの種類、イベント、またはステージがあるかどうかを本当に確認したいと思います。

これが不可能な場合、chart.aspxが単なる画像である場合にデフォルト.aspxにエラーメッセージを伝えるにはどうすればよいですか。多分ある種のResponse.Write(...?)

みんなありがとう。

4

1 に答える 1

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); });
    });
于 2012-04-14T19:35:29.723 に答える