- - PR -
マスターページをつけての画面遷移
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-10 14:16
お世話になります。
マスターページを使用したページを複数作成し、 マスターページにナビゲーションツリーをセットしました。 通常ナビゲーションツリーを押下すると、 ページ部分だけが更新されると思っていたのですが、 なぜかページ全体が更新されてしまいます。 おかしいなと思っていろいろためしたのですが、かわらずです。 なんらか設定が必要なのでしょうか・・・? ※JavaScriptエラーがでていますが、関連があるのでしょうか・・・ エラー:'Null'はNullまたはオブジェクトではありません。 対象行: <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> もしご存知の方いらっしゃいましたら、ご教授いただけないでしょうか。 よろしくお願いいたします。 | ||||
|
投稿日時: 2008-03-10 15:01
マスターページはフレームとは異なります。
ある意味、マスターページはユーザコントロールの一種だそうで、コンテンツページがよばれる毎にマスターページも呼び出されて一枚のページとして表示されます。 なので、ページ全体が更新されるのが正しい動きです。 | ||||
|
投稿日時: 2008-03-10 15:19
どっとねっとふぁん様
いつもお世話になっております。
そうでしたか・・・>< フレームとは異なりましたか・・・。フレームと同じ動作を期待してたのでショックです。 今UpdatePanelつかったりして擬似的にやろうとしてましたが 仮にできたとしてもめんどくさそうですねぇ。 ASP.netでフレームを実装する形で、進めていこうと思います。 (最初からこうすればよかったのかも・・・) ご回答いただき、ありがとうございました。 | ||||
|
投稿日時: 2008-03-10 15:35
> ASP.netでフレームを実装する形で、進めていこうと思います。
実現する機能にもよりますが、たぶんもっと面倒になるんじゃないかと思います。 フレーム間で連携する必要があると、自分で適切なJavaScriptを作らないといけなくなりますから。 楽をしたいならASP.NETが想定する動作に合わせた設計をするべきだと思います。 | ||||
|
投稿日時: 2008-03-10 15:40
返信ありがとうございます。
フレームについて調べたところ、VS2005からはテンプレートもなくなっており、 ASP.netとは相性が悪い等、使用しないほうがよいとの情報を多数得ました。 ・・・フレームはまずそうですね。 マスターページのほうがよいのはわかりますが(標準機能ですし)、 画面遷移時にページ全体が更新されるのは回避できないかなぁと・・・。 無理難題かとは思いますが、ご教授いただけないでしょうか。 | ||||
|
投稿日時: 2008-03-11 11:25
要求されても無理なので無理。 フレームにするメリットなんてきょうびないからなぜそんなに拘るのかがわからない。 ASP.NETでなくとも静的HTML的でもフレームは非推奨なはず。 | ||||
|
投稿日時: 2008-03-11 17:47
返信ありがとうございます。
無理なお願いをしてしまい申し訳ありません。 フレームに拘る理由は、マスターページのように共通部分を表示しつつ、 コンテンツ部分のみ更新する方法が今のところフレームしか 思いつかないからです。 マスターページだと毎回ページ全体を更新してしまうので、 そこをなんとかならないかというのが目的です。 自分で調べたり、皆様からの返信をみてみましても、 フレームは非推奨であり、使用しないほうがよいとされています。 しかし私と同じようにマスターページでコンテンツ部分のみ更新することが できないかと他の方もきっと思われたんじゃないかと思ってお願いした次第です。 無理なお願い本当に申し訳ありませんでした。 とりあえずマスターページでやってみようと思います。 | ||||
|
投稿日時: 2008-03-12 10:39
ページ全体が更新されると、どういった点で困るのでしょうか。 逆にページ全体が更新されたほうが都合がいいこともあります。 例えば、ナビゲーションツリー上にある現在表示中のページへのリンクを ハイライトしたり、リンクを無効にしておく、なんてこともできますから。 もしどうしても部分的に更新したいのであれば、 ASP.NET AJAXのUpdatePanelを使えばできそうな気がします。 自分では使ったことがないので、気がするだけですが…。 |