- PR -

UpdatePanelを使用した場合のページのLoadイベントについて

1
投稿者投稿内容
ani
常連さん
会議室デビュー日: 2007/05/17
投稿数: 44
投稿日時: 2007-05-31 16:41
いつもお世話になっております。
UpdatePanelコントロールを使用して非同期処理を行っています。

http://www.atmarkit.co.jp/fdotnet/aspnetajax/aspnetajax02/aspnetajax02_01.html
こちらのサイトによりますと、非同期ポストバックでもページのLoadイベント処理は毎回実行されるということで、
ScriptManagerコントロールのIsInAsyncPostBackプロパティで非同期かを判断しようと思っています。
しかし、私が作成しているWebサイトはマスターページを使用しているため、
実際にページに貼り付けるコントロールはScriptManagerProxyになります。
ScriptManagerProxyにはIsInAsyncPostBackプロパティがありません。
この場合、何をもとに非同期か判断したらよいのでしょうか?

ご教示下さい。
よろしくお願いします。

Windows XP(SP2), Visual Studio 2005(SP1), ASP.NET Ajax 1.0, IE6.0(SP2)
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-05-31 20:58
本当だ。。。今まで非同期かどうか調べる必要がなかったのでプロパティの存在さえ知りませんでした。(汗
とりあえず、自分のマスターページから FindControl してみるとか。
コード:
DirectCast(Me.Master.FindControl("ScriptManager1"), ScriptManager).IsInAsyncPostBack


他にもやり方がありそうだな。。。
_________________
かるあ のメモスニペット
sou
ベテラン
会議室デビュー日: 2002/09/25
投稿数: 56
投稿日時: 2007-05-31 23:09
Page.IsAsyncプロパティは?
試していないので、ScriptManagerの非同期ポストバックを
判断できるかどうかはわかりませんが・・。
ani
常連さん
会議室デビュー日: 2007/05/17
投稿数: 44
投稿日時: 2007-06-01 11:27
かるあさん、souさん返信ありがとうございます。

引用:

かるあさんの書き込み (2007-05-31 20:58) より:
コード:
DirectCast(Me.Master.FindControl("ScriptManager1"), ScriptManager).IsInAsyncPostBack





上記のコードでうまくいきました。
ありがとうございました。

私はC#でコーディングをしているので一応そちらのコードも書いておきます。
コード:
ScriptManager sptmgr1 = (ScriptManager)this.Master.FindControl("ScriptManager1");
if (sptmgr1.IsInAsyncPostBack)
{
   //非同期ポストバック
}
else
{
   //同期ポストバック
}



引用:

souさんの書き込み (2007-05-31 23:09) より:
Page.IsAsyncプロパティは?


Page.IsAsyncプロパティはなぜか非同期の場合もfalseになってしまいます。
MSDNでは「Web ページが非同期モードで実行されているかどうかを判断します。」とありますので、
ポストバックが非同期かどうかではなく、モードが非同期かどうかを判断するプロパティのようです。
詳しくは理解できていませんが。。
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.page.isasync(VS.80).aspx
1

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