- PR -

(ASP.NET)ImageUrl画像表示のちらつき?

投稿者投稿内容
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-09-22 10:53
たしかにashxを使えばPageクラスに比べれば軽くなるだろうけど、体感できるほどの
違いはないんじゃないかなぁ。。。
この場合むしろ画像のダウンロード速度とかのほうが効いてると思う。
らす亭
会議室デビュー日: 2006/09/21
投稿数: 8
投稿日時: 2007-05-21 17:03
private void Page_Load(object sender, System.EventArgs e)
{
Button1.Attributes["onclick"]
= "document.getElementById('SimImage').src = 'SimMerge.aspx';return false;";
SimImage.ImageUrl = "初期画像";
}
上記の処理で画像(SimMerge.aspxの結果)がスムースに表示されるようになりました。

ただボタンクリックなどASPのイベントが発生すると画像が元(初期画像が表示)に戻ります。
これは仕方がないことなのでしょうか。
何か対策があれば教えてください。よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-05-22 06:30
引用:

らす亭さんの書き込み (2007-05-21 17:03) より:
ただボタンクリックなどASPのイベントが発生すると画像が元(初期画像が表示)に戻ります。
これは仕方がないことなのでしょうか。
何か対策があれば教えてください。よろしくお願いします。


一番必要なことは、ASP.NET が動作する仕組みを知ることです。

 Page.Load イベントは、「ボタンクリックなどASPのイベントが発生する」度に必ず発生します。ですから、ここに、マイクロソフトの間違ったコメントにしたがって、アプリケーションの初期化処理を書いていると、アプリケーションが初期化されてしまいます。ここは、状態にあわせてデータを初期化するコードを書きます。

 手っ取り早い修正方法は、PostBack されたかどうかを調べて、PostBack の時は初期化しないことです。


> そういう基本が載ってる文献ってあるのですか?
まずは MSDN。
英語だけど、 http://www.asp.net/
次いで、赤間本。→ http://blogs.wankuma.com/jitta/articles/60156.aspx (リンク先は広告です)
_________________
らす亭
会議室デビュー日: 2006/09/21
投稿数: 8
投稿日時: 2007-05-22 17:51
回答ありがとうございました。
それらASPの本を購入して、もう少しASPの仕組みを理解したいと思います。

スキルアップ/キャリアアップ(JOB@IT)