- PR -

ASP.NETでの特定したフレームにページ表示の仕方

投稿者投稿内容
mituo
会議室デビュー日: 2002/10/08
投稿数: 13
投稿日時: 2002-10-30 12:01
ASP.NETでフレームセットを使ったページを作っています。

そこでの悩みなのですが、
例えば、左下のフレームであるボタンを押したら、右側のフレームにページを表示し、
また同じ左下のフレームのもう一つのボタンを押したら、左上のフレームにページを
表示したいのですが、それができません。

一つのフレームには表示させることが出来ますが、場所が違うフレームには表示できません。
どのようにしたら、いいのでしょうか?

よろしくお願いします。

DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-10-30 12:14
引用:

一つのフレームには表示させることが出来ますが、場所が違うフレームには表示できません。
どのようにしたら、いいのでしょうか?



formを二つ使用するのではダメですか?
mituo
会議室デビュー日: 2002/10/08
投稿数: 13
投稿日時: 2002-10-30 12:42
返信ありがとうございます。

1つのページにformを2つ使用したら、

エラーメッセージとして、

1 つのページには、1 つのサーバー側 Form タグのみを指定できます。

がでました。


DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-10-30 13:09
引用:

1つのページにformを2つ使用したら、

エラーメッセージとして、

1 つのページには、1 つのサーバー側 Form タグのみを指定できます。

がでました。



runat=server を外したformではどうでしょう。
elmo
常連さん
会議室デビュー日: 2002/08/09
投稿数: 47
投稿日時: 2002-10-30 13:17
こんにちは。elmoです。

私もフレームをつかったページを作成しています。
(フレーム名)A:検索ページ
(フレーム名)B:検索結果ページ
(フレーム名)C:ステータス通知ページ

AからB,Cを書き換える場合、私はクライアント側(JavaScript)でページ遷移させました。

<Script Language = JavaScript>
<!--
parent.B.location.href="result.aspx"
parent.C.location.href="systemstatus.aspx"
//-->
</Script>

をRegisterStartupScriptで書き出してやると二つのフレームページを遷移させることができます。

フレームやウィンドウ、(アラートも)はクライアント側でかいてやるしかなさそうです・・・。
mituo
会議室デビュー日: 2002/10/08
投稿数: 13
投稿日時: 2002-10-31 11:21
DaikiRyutoさん、elmoさん返信ありがとうございました。

elmoさんの方法で
RegisterStartupScriptとjavascriptを使いやってみましたが、うまく
いきませんでした。

コードは
private void Page_Load(object sender, System.EventArgs e)
{
String scriptString ="<Script language=\"javascript\"> ";
scriptString += "<!--" ;
scriptString += "parent.right.location.href = \"Result.aspx\";";
scriptString += "//-->";
scriptString += "</Script>";

if(!this.IsStartupScriptRegistered("Startup"))
this.RegisterStartupScript("Startup", scriptString);
}

です。

rightは結果を表示させたいところのフレーム名です。
leftという名前のフレームから、rightに表示したいのですが、
leftに結果が表示されます。

RegisterStartupScriptメソッドは使ったことなく、
使い方もいまいちよくわからないのですが、どうしたらよろしいのでしょうか。
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-10-31 11:35
引用:

runat=server を外したformではどうでしょう。



追記。
form runat=serverは一つしか記述できませんが、ただのformは記述できますし、PostBackできるはずです。


引用:

elmoさんの方法で
RegisterStartupScriptとjavascriptを使いやってみましたが、うまく
いきませんでした。



"parent.right.location.href = \"Result.aspx\";";
という処理だけではなくて、処理を行うfunction を組み立てて、ボタンのonClick属性で作ったfunctionを指定しないとダメだと思います。

#現在確認できる環境が無くて間違っているかもしれません。申し訳ありません。

#あと、Stringに対する+=のパフォーマンスってどうなんでしょう?
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-10-31 11:41
引用:

返信ありがとうございます。
1つのページにformを2つ使用したら、
エラーメッセージとして、
1 つのページには、1 つのサーバー側 Form タグのみを指定できます。
がでました。



ASP.NETでは、ASPXファイルに1個のFormしかサポートしていません。
複数のFormを使用するには WilsonWebForm を使用すると可能です。

Happy Programming!

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