- PR -

マスターページ内でのUpdatePanelについて

投稿者投稿内容
kiyokura
ベテラン
会議室デビュー日: 2007/08/08
投稿数: 69
お住まい・勤務地: 岡山
投稿日時: 2008-07-01 00:33
#編集して追記しようかとも思いましたが、趣旨がブレそうなので別エントリにしました。

 先の投稿では、『やむを得ない場合はフレームセットを使う』、と書きましたが、ページのちらつきが気になるから……という要件のみを見るのであれば、フレームセットを使うことを回避する方向で進めると思います。要は、マスターページを使用し、そのままいく、ということです。少なくとも、それ”単体”では『やむを得ない理由』に当たるとは思いません。


 実際フレームでの作りになれている状態で色々触って見ていたり、デモやプレゼンしていると特に気になる事もあろうかと思いますが、プレゼンの見せ方次第なところもありますし、使っているうちに気にならなくなる事も多いと思います。

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-07-01 01:32
引用:
ajaxのUpdatePanelを使用すれば似た様な感じになるという所まで調べたのですが、
希望する内容は可能でしょうか?

「ページ遷移」がどんなものかによります。URLが変わるのならUpdatePanelは合わないでしょう。

ページの一部の内容を変えるだけなら、例えばボタンが押されたときラベルの文字列を変える
という「遷移」であれば
1、ボタンがクリックされたときにラベル文字列を変更する、というコードを組む
2、ボタンとラベルをUpdatePanelの中に入れる。(当然ScriptManagerも置く)
という操作だけで、希望のちらつかない動作が実現できると思います

.NETとの相性の悪さをクリアできる見通しが立っているならフレームでいいと思います。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-07-01 02:45
AJaxToolKit を使わないAjaxのフォームまるごと挿げ替え画面作ったことがあります
がViewStateやら、フォーム要素やら大変でしたよ。
既存のフォームにAjaxで通信した結果をマージするんですけどね。
Ajax使わなくても動くように設計したからASPXでひとつの画面体裁を保持している
ので抽出する部位に気を使うのがこれまた面倒でした。

ま、こんなしんどいやり方は考えてないでしょうけど、参考まで。

jQuery やら、YUI やらを検討してみたらどーです?
上記の実装は、jQuery + jQUery.UI を使いました。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-07-01 06:21
引用:

マスターページにTreeViewを設置してあるページは完成しているのですが、
どうしても一瞬真っ白になってしまうのです。

そうなると画面の左側にTreeViewをつけているのですが、TreeViewをつけている意味自体が無い様な気がします。(TreeViewのかわりに、ページのどこかにボタンを設置してページ遷移もできますし・・・(素人考えですみません。))

他の方達はどの様にして、左と右で画面を分割しているのでしょうか?



私は、TreeViewとiframeを利用して実現しています。TreeViewは非同期(Ajax)にしてノードの[+]をクリックした時点でデータベースから下位のノードを取得して展開します。コンテンツは、ノードをクリックしたときにiframeに表示します。

こちらからライブデモがご覧いただけます。
http://jsajax.com/SamplesByTreeView.aspx



_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
ぷり
ベテラン
会議室デビュー日: 2008/02/22
投稿数: 60
投稿日時: 2008-07-01 07:23
kiyokura様、べる様、ぴあちゃん様、Access様 ありがとうございます。

プロの方達の考え方や話が聞けて、とても嬉しいです。

kiyokura様、Access様が提示して下さったHP等が理想です。
(共にツリーを選択しても上部分がちらつかないので)

フレームセットは使用しない方法を調べてみます。
(というか、VS2005の中にフレームセットがありませんので・・・)

べる様のご助言の様な感じでFormViewを遷移させたいので配置等行ってみたのですが、
遷移させるコードがわかりませんでした。
(遷移させたいFormViewは別のWebページの中にあります。多分作成の仕方が間違っていると思いますが・・・)

ぴあちゃん様から頂いたご助言のjQuery,YUIについて調べてみます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-07-01 08:45
引用:
フレームセットは使用しない方法を調べてみます。
(というか、VS2005の中にフレームセットがありませんので・・・)

これは考え方として少し間違ってます。フレームというのはhtmlのものであり、
Visual Studioはhtmlを作るものではなく、.NETアプリケーション(この場合ASP.NET)を作るものだからです。
htmlページを追加して、そこにframeタグとかframesetタグを書けばいいわけです。

それに、その考え方で行くとjQueryとかもVisual Studioにはありませんよ?

引用:
べる様のご助言の様な感じでFormViewを遷移させたいので配置等行ってみたのですが、
遷移させるコードがわかりませんでした。
(遷移させたいFormViewは別のWebページの中にあります。多分作成の仕方が間違っていると思いますが・・・)

別ページにあるもので、ぷりさんのおっしゃる動作を実現するにはそれ相応のコードが必要です。

TreeViewで選択されたValueをFormViewに渡してFormViewの内容を変えたいという事ですか?
TreeViewnのValueを検索キーにしたデータソースを用意し(この方法じゃなくてもいいけど)
そのデータソースを使うFormViewを用意し、そのすべてをUpdatePanelに含めるだけで
希望の動作が実現できると思います。

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