- PR -

動的にTargetを変更するには

1
投稿者投稿内容
とっち
常連さん
会議室デビュー日: 2003/01/13
投稿数: 28
投稿日時: 2003-04-07 11:24
お世話になります。

左右分割したフレームページがあります。
左フレームにはデータグリットがありページング対応になっています。
このデータグリットには「編集」と「照会」のボタンがあり「照会」の場合は
右フレームに詳細データを表示、「編集」の場合にはフレームなしの編集用ページに
移動します。

「照会」は特に問題ないのですが「編集」の場合にフレームをなくし
編集用ページを表示するよい方法がわからず、現在は
Me.RegisterStartupScriptを使用して
<script>Javascript:top.location.href = '〜';</script>
にてページ全体を入れ替えています。

一度ポストバックしてからのページ移動なので画面にチラツキが発生します。
できれば「Server.Transfer」などを使ってスムーズに別ページに移動したいのですが・・・

FormのTargetを指定すると「照会」時もフレームなしのページに移動しますし・・・

動的にTargetを変更する方法などありますでしょうか?

一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-04-07 13:28
多分ないと思います。

サーバーから送られてきたデータをブラウザのどのフレームに表示するかは、ブラウザの処理です。
リンク等をクリックしたときに「targetはMainだな、じゃあ今回のリクエストに対するレスポンスはMainのフレームに表示しよう。」
ということでMainフレームに表示します。サーバーは、どこのフレームのボタンが押されたとか、返したレスポンスがどこに表示されるのか等は意識していません。

もしかすると<HEAD>タグ辺りでフレームの指定のようなものがあるかもしれませんが・・・。
mei
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 114
投稿日時: 2003-04-08 00:08
javascriptで変更する方法はどうでしょうか?

onclickとかで、document.form[0].target="xxx";
とか。

ただ、Button1.Attributes["onclick"]="...";
でやろうとすると、タイミングによってはjavascriptよりも先に、
サーバーイベントが起きてしまうようなので、ちょっと工夫が必要です。
1

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