- - PR -
ASP.NETにて、呼出元フォームをリロードしたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-27 17:34
お世話になります。
現在、ASP.NET + VB.NET にて、Webアプリケーションを開発しております。 現在、どのように対処して良いのかわからず、行き詰ってしまったのでご質問させて頂きます。 ASP画面にて、以下の2つのフォームを用意しておく。 @利用者の名前を表示するフォーム A利用者を検索するフォーム @のASPフォームから、javaScriptを使用してAのフォームを別窓で開きます。 Aのフォームで利用者を検索し、その情報を取得して、@のフォームに返します。 その際に、Aフォームで取得した情報をsessionオブジェクトに持たせ @のフォームをリロードして、利用者名を表示したいと考えております。 しかし、ASP.NETでは呼出元フォームをリロードするどころか 呼出元のフォームのデータを扱うなら、javaScriptでwindow.openerを使用して値を渡すしか方法がなく困っています。 どうにか、子フォームから呼出元フォームをリロードする方法はないでしょうか? 宜しくお願い致します。m(_ _)m | ||||||||
|
投稿日時: 2005-11-27 20:10
こんにちは、でっちです。
イマイチ問題点が分らなかったのですが、 window.opener.location.reload(); とか window.opener.location.href="...."; とかは使いたくないってことですかね???? サーバサイドからクライアントを操作できないのは自明ですので、Javascriptでopenerを操作するしかないと思いますが… | ||||||||
|
投稿日時: 2005-11-27 20:57
>でっち6号さん
ご回答ありがとうございます。 言い回しがわかりづらく、申し訳ありません^^; 親フォームで、すでにURLが設定されたコントロールがあり そのコントロールをクリックすると、また別の窓に設定されたURLが開くのですが その開いたフォームで、その検索した結果を利用したいわけです。 なので、検索画面で取得したデータを、親フォームに持たせたいのですが、、、 簡単にやりたいことは、でっち6号さんのおっしゃる window.opener.location.reload(); でリロードはできるのですが ボタンを押したときに、sessionオブジェクトに値を保存したうえで javaScriptでwindow.opener.location.reload();を実行する手立てはないでしょうか? よろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-11-27 21:30
*1:「そのコントロール」は、どのコントロール? *2:「その開いたフォーム」とは、どのフォーム? *3:「その検索した結果」とは、どこに検索したのもの? 「こそあど言葉」を使うから、わかりにくくなるんです。 *4:「すでに URL が設定されたコントロール」とは、どのコントロールの、どのフィールド(プロパティ、イベント含む)に、どのように設定されているのでしょう? *5:「また別の窓に設定された URL が開く」の、切れ目がわかりません。「別の窓」が開くの?それとも、別の窓があって、そこから情報をとってくるの? *6:検索画面とか親フォームって、これまで出てきているのの、どれ? わかりやすくするための基本は、文章ではなく、箇条書きにすることです。私が理解したところでは、、、 1.何らかのコントロールのイベントで、新規にウインドウを開く (window.open(url...)を、サーバコードで StartupScript に埋め込む) 2.1で新規に開くウインドウは、検索画面 3.1で開いた検索画面から、親ウインドウを更新したい ってことなのですが、よろしいでしょうか?
いったんサーバに戻してから、RegisterStartupScript で、そのスクリプトを登録する。 ___________________________________________________________________ □ written by Jitta on 2005/11/27 □ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||
|
投稿日時: 2005-11-27 22:29
>Jittaさん
もうしわけありません。以後気をつけます。 では、改めて説明させて頂きます。 1.親フォームにて、ツリービューコントロールと検索ボタンコントロールが配置されている ツリービューにはURLが設定されており、クリックすると、後で検索された利用者の情報が表示される 2.1の検索ボタンコントロールが押されると、利用者の検索画面が別窓で開く 3.2の窓で検索された利用者を選択するボタンがあり、その選択ボタンを押すと1の親フォームに検索結果が返され、2で開いた利用者の検索画面が閉じる 4.3で返された利用者の検索結果を利用して、1に記載してある通り、利用者の情報を開く となります。 恐らく、Jittaさんが理解して下さってる通りだと思います。 そこで、3→4の流れの際にASP,NETでsessionオブジェクトに利用者の情報を格納し JavaScriptを使用して1の親フォームをリロードすれば、1の親フォームでリロードする際にsessionオブジェクトの情報を取得して、検索結果が取得できると考えたわけです。 >いったんサーバに戻してから、RegisterStartupScript で、そのスクリプトを登録する とのことですが、早速明日、調査してみたいと思います。 ありがとうございます。 | ||||||||
|
投稿日時: 2005-11-28 10:15
>でっち6号さん・Jittaさん
ありがとうございました!無事、やりたいことができました! ページのリロードは、でっち6号さんのやり方で ボタン押下時の処理は、Jittaさんのやり方で対応できました。 本当にありがとうございました! |
1