- PR -

別窓で検索結果を出すには

1
投稿者投稿内容
MI
常連さん
会議室デビュー日: 2007/01/30
投稿数: 30
投稿日時: 2007-11-14 18:52
お世話になっております。
表題の件について、質問させてください。

ASP.net 2.0 + VBで 以下の動作を作成しております。

1:検索条件入力
2:検索ボタン(Button)クリック(縦に長いのでボタンが複数あります)
3:検索結果をSessionへ
4:別窓で検索結果表示
5:検索結果画面を閉じて2へ戻る

適しているクリック動作がなかなか見つけられず、

PreviousPage    :別ウィンドウで開けない
Response.Redirect  :別ウィンドウで開けない
HyperLink+クエリ文字:条件が多く、255文字を超えるかもしれないので回避したい。

の理由から、入力画面のPage_Load時に、検索ボタンにWindowを開くJavaScriptを登録し、

If Not IsPostBack() Then
 btnKensaku1.Attributes("onclick") = "if (!checkIsFill()) { return false ;} else {window.open('kekka.aspx', '_blank');}"
End If

と行っておりますが、
5で閉じた後、入力画面の検索ボタンが効かなくなり
クリックすると、別窓が出ずに、入力画面がリロードされます。

Webではよくお見かけする動きですので、自分の勉強不足のせいだと思いますが、
考えてもこれ以上方法がわかりません。

すみませんが、このボタンを使えるようにする方法、または他に
入力画面に影響が出ない、結果画面の出し方がありましたら
ご教授願えませんでしょうか。

どうぞよろしくお願い致します。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2007-11-14 19:47
引用:

HyperLink+クエリ文字:条件が多く、255文字を超えるかもしれないので回避したい。


それならPOSTで渡せばよい。

コード:
<form name="form2" method="post" target="_blank">
<input type="hidden" name="key1">
<input type="hidden" name="key2">
</form>


隠しフォームを用意する。
ボタンのクライアントイベントで、フィールドに値を代入して隠しフォームをsubmitする。


あるいは、
別窓にポストバックする方法
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34015&forum=7
MI
常連さん
会議室デビュー日: 2007/01/30
投稿数: 30
投稿日時: 2007-11-14 20:33
todo 様

ご回答ありがとうございます。

リンク先の「別窓にポストバックする方法 」にて解決いたしました。
私も、上記の質問者様と同じように、どうして解決できたのか、理由が分かりませんが、
(親も子も遷移しそうに感じます)
ただただ素晴らしい、と感嘆致しました。

また、大変恥ずかしながら、4の別窓表示にばかり意識が行って
3のセッション格納のタイミングの問題に、全く気がついておりませんでした。
リンク先の方法で、気がついたと同時に解決致しました。
重ねて、お礼申し上げます。

ありがとうございました。
1

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