- PR -

フレーム画面からフレーム画面へ

1
投稿者投稿内容
どつと
会議室デビュー日: 2005/11/09
投稿数: 6
投稿日時: 2005-11-09 10:13
はじめまして。
ASP.NET初心者のものです。
ただいま、C#でWebシステムを開発しています。
(OS:WindowsXP)
ご存知の方がいましたらご教授願います。
下記の遷移を実現させたいのですが、いろいろ試してはみたのですが
うまくいかない現状です。
実現したい遷移:
フレーム1      フレーム2
 −−−−−−    −−−−−
 |  A    |    |   C   | 
 |−−−−−| ⇒ |−−−−−|
 |   B   |    |   D   |
 |       |    |       |
 |       |    |       |
 −−−−−−     −−−−−
現状:
フレーム1      フレーム2
 −−−−−−    −−−−−
 |  A    |    |   A   | 
 |−−−−−| ⇒ |−−−−−|
 |   B   |    |   C   |
 |       |    |−−−−−|
 |       |    |   D   |
 −−−−−−     −−−−−

すいません。なかなかうまく説明できなかったので
上記のイメージをとりあえず記載しました。
動きとしては、Bの画面にボタン(webコントロール)があり、そのボタンを
押下するとフレーム2に遷移するとゆう仕様です。
現在、Response.Redirectを使用して遷移を行っています。
よろしくお願いします。
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-11-09 10:42
こんにちは、でっちです。

画面遷移ボタン押下のポストバック後、条件によって画面遷移しないと言う状況がない(入力検証等がない)ことが前提になりますが、
ボタンに「onclick="document.forms[0].target='_top';"」を追加すればいかがでしょう?
[追記]
#HTMLに直接書くと実行時エラーになるようです。(「リテラル文字列が長すぎます」)
#OnloadあたりでAttribute.Addで追加して下さい。
[/追記]

前述の状況がある場合は、一旦別画面に遷移し、そこで
top.location.href = "CとDのフレーム分けを行う個所のURL";
をRegisterStartupScriptで追加すると言う流れになると思います。
[さらに追記]
別画面に遷移する必要ないじゃん。
現在のRedirectを↑のRegisterStartupScriptに置き換えるだけじゃんか
恥ずかしい...
[/さらに追記]

#こういう画面遷移をするなら、フレームは分けない方が良いと思いますが...


[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-11-09 11:20 ]

[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-11-10 17:11 ]
どつと
会議室デビュー日: 2005/11/09
投稿数: 6
投稿日時: 2005-11-11 00:49
でっちさんありがとうございます。
下記で確認が取れました。
本当に助かりました。
勉強も継続してやっているのですがなかなか難しいですね。
(ASP.NET を理解していないのかJavaScriptを理解していないのか
 よく分らないんですけどね。。)
結構苦しんでます。^^;


>ボタンに「onclick="document.forms[0].target='_top';"」を追加すればいかがでしょ


有難うございました。

[ メッセージ編集済み 編集者: どつと 編集日時 2005-11-11 00:57 ]
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-11-11 10:13
frameとASP.NETは相性が悪くて、制御しなきゃいけないことが多くなってくると
プログラミングの効率が非常におちてしまいます。
んで、私はframeを使わない方法をお勧めしてます。

サンプル
http://www.codeseek.net/download/DlTopMenuLeftMenuSource.html


_________________
たつごろー
codeseek
こみゅぷらす
1

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