- PR -

フレームとページ遷移について

1
投稿者投稿内容
Nor
会議室デビュー日: 2006/04/26
投稿数: 5
投稿日時: 2006-09-27 15:43
VBのバージョン : ASP.NET2003

フレームセットで
上側 〜 A.aspx
下側 〜 B.aspx
このような画面を作りまして
B.aspxのbutton.ClickイベントでA.aspx、B.aspxを
ひとつの画面(C.aspx)に遷移させる機能を作成していますが、

B.aspxのbutton.Clickイベント内に
Response.Redirect("C.aspx")
と記述するとC.aspxのみしか遷移しません。
JavaScriptでやれば、出来るのは確認しているのですが、
如何してもVBでやりたいのです

ちなみに遷移はこんな感じです。
+−−−−−+   +−−−−−+
|   A   |   |        |
+−−−−−+   |        |
|       | → |   C    |
|   B   |   |        |
|       |   |        |
+−−−−−+   +−−−−−+

どなたか対応方法を教えて下さい。
よろしくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-09-27 16:08
ブラウザからPOSTされるときにTargetが変更されている必要があるので、
そのようなHTMLが生成されるようにする必要があると思います。

#ASP.NETではフレームは使わないほうがいいと個人的に思っているので
 具体的な対応方法はわかりませんが。
チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 2006-09-27 17:59
HTMLに以下のJavaCriptを追加するとどうでしょう?

<script language="javascript">
if(self != top) {
top.location.href = self.location.href; }
</script>
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-09-27 20:18
フレームを変えるには、リクエストを投げる際に、すでにブラウザ側で指定している必要があります。
サーバ側で狙って「ここ」という指定はできません。
Nor
会議室デビュー日: 2006/04/26
投稿数: 5
投稿日時: 2006-09-28 09:46
どっとねっとふぁん様、チャチャ様、mio様
返信有難う御座いました。

やはりサーバ側でのフレーム指定してページ遷移することは
出来ないのでしょうか?
JavaScriptの「parent」みたいな関数等が在ればと思ったのですが…
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-09-28 16:51
ポストバック前にクライアント側でターゲットを変更する
コード:

private void Page_Load(object sender, System.EventArgs e)
{
Button1.Attributes["onclick"] = "this.form.target = '_parent';";
}
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Redirect("c.aspx");
}



あるいは、

ポストバック後にクライアント側でparentのlocationを変更する
コード:

private void Button1_Click(object sender, System.EventArgs e)
{
Response.Clear();
Response.Write("<script language='javascript'>parent.location.href='c.aspx';</script>");
Response.End();
}



[ メッセージ編集済み 編集者: todo 編集日時 2006-09-29 13:10 ]
1

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