- PR -

画面の終了について

1
投稿者投稿内容
Hiro
会議室デビュー日: 2007/06/08
投稿数: 13
投稿日時: 2007-07-19 16:09
いつも参考にさせていただいております。

ASP.NET2003のC#で開発をしています。

A画面にHTMLコントロールのボタンを貼り付け
画面の終了処理を以下のようにJavaScriptで記述してます。

<script type="text/javascript">
function myClose()
{
ans = window.confirm("終了しますか?");
if( ans == true )
{
window.opener = self;
window.close();
}
}
・・・・・中略・・・・・
<INPUT onclick="myClose()" type="button" value="終了">

さて、ここで、悩んでいることがあります。

終了しますか?でOKボタンが押された後、
A.aspx.csにあるモジュール
たとえば、
public void InitData()
{
}
を実行したいのです。

もし、JavaScriptから無理なのであれば、
A画面が初回起動時という情報は
取得できないのでしょうか?

A→B→AだったりA→C→Aというったふうに
A画面に遷移する画面がありますので、
Page_Load での !IsPostBack では、
初回起動か遷移されての起動かがわかりません。

つまり、A.aspx.csにあるモジュール
public void InitData()
をA画面の初回起動時か終了時に実行したいのです。

つたない文章だとはおもいますが、
よろしくお願いします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-07-19 16:35
この手の質問も見飽きたな・・・
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-07-19 19:37
重大な勘違いがひとつ



A→B→Aの遷移では、2度目のAはpostbackではありません。



(Transferはどうだったかな?)
Hiro
会議室デビュー日: 2007/06/08
投稿数: 13
投稿日時: 2007-07-19 21:34
ぶさいくろうさん、Jittaさん、ありがとうございます。

検索の仕方が未熟でした。
でも、なんとか、解決しました。

画面遷移はTransferで実施しています。
そして、そのときの画面遷移は
!IsPostBackの内部が実行されるみたいです。

解決方法は、ボタンをWebボタンに変更し、
Page_Load内にボタンのAttributesを設定し、
ボタンが押下されたモジュールにおいて、
RegisterStartupScriptで画面を閉じる処理を記述した結果
所望の動作をしました。
1

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