- PR -

showModalDialog について

投稿者投稿内容
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-11 22:46
お世話になります。

showModalDialog について教えてください。これを下記のようにして呼び出し KairanData.aspx でデータをDBから呼び表示しています。初回は、KairanData.aspxのPage_Load を呼び出しますが、2回目以降は、Page_Loadを呼び出しません。
Session["KairanDataDisplay"] = stID;でセットしている値がその都度異なるためPage_Loadを呼び出したいのですがどうしたらいいですか?
おそらく”内容に変化がない?”か何かでKairanData.aspxの呼び出しがキャンセルされているようにも思いますが、どう対処したらいいですか?教えてください。

ASP.NET C#

コード:
Session["KairanDataDisplay"] = stID;
  
string stResavationData = string.Format("window.showModalDialog('KairanData.aspx', 'windows', 'status:true;dialogWidth:800px;dialogHeight:600px');");           
string startupScript = string.Format("<script type='text/javascript'> {0} <" + "/script>", stResavationData);
Page.ClientScript.RegisterStartupScript(this.GetType(), "startup", startupScript);



コード:
KairanData.aspx
protected void Page_Load(object sender, EventArgs e)
{
   IdData = (string)Session["KairanDataDisplay"];

   SqlDataSource1.Select(DataSourceSelectArguments.Empty);
     :

ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-11 22:57
クエリをユニークに。

SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-11 23:29
お世話になります。

> クエリをユニークに。
とは、どの部分を指すのでしょうか?
MSの説明には、このようになってますが.....? クエリとは?何を1つにするのでしょうか?sURL?

variant = object.showModalDialog(sURL [, vArguments [, sFeatures]])

ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-12 00:13
sURL の ? より後ろのぶぶん。

xxx.aspx



xxx.aspx?1

にしたら、ってこと。
2回やったら終りじゃん。。。なんて思わないでね。



[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-10-12 00:19 ]
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-12 09:01
お世話になります。

string str = string.Format("KairanData.aspx?{0}", stID);
string stResavationData = string.Format("window.showModalDialog('{0}', 'windows', 'status:true;dialogWidth:800px;dialogHeight:600px');", str);

とすることで実現できました。呼び出すページやその引数が同じだとCodeBehind側のコードが処理されないんですね。
確か、?以降の引数を呼ばれたプログラムで取得できたと思いますがどうやって取得できるのでしょか?
Session の代わりに使用したいと思いますので教えてください。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-12 14:57
location.search と location.hash

あとは自分で考えて。

ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-12 14:59
あぁ、ASPXか。

Request ですね。

SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-12 20:00
お世話になります。

こんな感じでうまく行きました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/305namevalues/namevalues.html
にも答がありましたね。
Request のヒントでわかりました。ありがとうございます。

コード:
NameValueCollection coll = Request.QueryString;
// Get names of all keys into a string array.
String[] arr1 = coll.AllKeys;
 
string[] str = coll.GetValues(arr1[0]);
string[] str2 = coll.GetValues(arr1[1]);

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