- - PR -
ASP.NETでの特定したフレームにページ表示の仕方
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-10-30 12:01
ASP.NETでフレームセットを使ったページを作っています。
そこでの悩みなのですが、 例えば、左下のフレームであるボタンを押したら、右側のフレームにページを表示し、 また同じ左下のフレームのもう一つのボタンを押したら、左上のフレームにページを 表示したいのですが、それができません。 一つのフレームには表示させることが出来ますが、場所が違うフレームには表示できません。 どのようにしたら、いいのでしょうか? よろしくお願いします。 | ||||||||
|
投稿日時: 2002-10-30 12:14
formを二つ使用するのではダメですか? | ||||||||
|
投稿日時: 2002-10-30 12:42
返信ありがとうございます。
1つのページにformを2つ使用したら、 エラーメッセージとして、 1 つのページには、1 つのサーバー側 Form タグのみを指定できます。 がでました。 | ||||||||
|
投稿日時: 2002-10-30 13:09
runat=server を外したformではどうでしょう。 | ||||||||
|
投稿日時: 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で書き出してやると二つのフレームページを遷移させることができます。 フレームやウィンドウ、(アラートも)はクライアント側でかいてやるしかなさそうです・・・。 | ||||||||
|
投稿日時: 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メソッドは使ったことなく、 使い方もいまいちよくわからないのですが、どうしたらよろしいのでしょうか。 | ||||||||
|
投稿日時: 2002-10-31 11:35
追記。 form runat=serverは一つしか記述できませんが、ただのformは記述できますし、PostBackできるはずです。
"parent.right.location.href = \"Result.aspx\";"; という処理だけではなくて、処理を行うfunction を組み立てて、ボタンのonClick属性で作ったfunctionを指定しないとダメだと思います。 #現在確認できる環境が無くて間違っているかもしれません。申し訳ありません。 #あと、Stringに対する+=のパフォーマンスってどうなんでしょう? | ||||||||
|
投稿日時: 2002-10-31 11:41
ASP.NETでは、ASPXファイルに1個のFormしかサポートしていません。 複数のFormを使用するには WilsonWebForm を使用すると可能です。 Happy Programming! | ||||||||
