- - PR -
マスターページ内でのUpdatePanelについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-07-01 00:33
#編集して追記しようかとも思いましたが、趣旨がブレそうなので別エントリにしました。
先の投稿では、『やむを得ない場合はフレームセットを使う』、と書きましたが、ページのちらつきが気になるから……という要件のみを見るのであれば、フレームセットを使うことを回避する方向で進めると思います。要は、マスターページを使用し、そのままいく、ということです。少なくとも、それ”単体”では『やむを得ない理由』に当たるとは思いません。 実際フレームでの作りになれている状態で色々触って見ていたり、デモやプレゼンしていると特に気になる事もあろうかと思いますが、プレゼンの見せ方次第なところもありますし、使っているうちに気にならなくなる事も多いと思います。 | ||||||||
|
投稿日時: 2008-07-01 01:32
ページの一部の内容を変えるだけなら、例えばボタンが押されたときラベルの文字列を変える という「遷移」であれば 1、ボタンがクリックされたときにラベル文字列を変更する、というコードを組む 2、ボタンとラベルをUpdatePanelの中に入れる。(当然ScriptManagerも置く) という操作だけで、希望のちらつかない動作が実現できると思います .NETとの相性の悪さをクリアできる見通しが立っているならフレームでいいと思います。 | ||||||||
|
投稿日時: 2008-07-01 02:45
AJaxToolKit を使わないAjaxのフォームまるごと挿げ替え画面作ったことがあります
がViewStateやら、フォーム要素やら大変でしたよ。 既存のフォームにAjaxで通信した結果をマージするんですけどね。 Ajax使わなくても動くように設計したからASPXでひとつの画面体裁を保持している ので抽出する部位に気を使うのがこれまた面倒でした。 ま、こんなしんどいやり方は考えてないでしょうけど、参考まで。 jQuery やら、YUI やらを検討してみたらどーです? 上記の実装は、jQuery + jQUery.UI を使いました。 | ||||||||
|
投稿日時: 2008-07-01 06:21
私は、TreeViewとiframeを利用して実現しています。TreeViewは非同期(Ajax)にしてノードの[+]をクリックした時点でデータベースから下位のノードを取得して展開します。コンテンツは、ノードをクリックしたときにiframeに表示します。 こちらからライブデモがご覧いただけます。 http://jsajax.com/SamplesByTreeView.aspx _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2008-07-01 07:23
kiyokura様、べる様、ぴあちゃん様、Access様 ありがとうございます。
プロの方達の考え方や話が聞けて、とても嬉しいです。 kiyokura様、Access様が提示して下さったHP等が理想です。 (共にツリーを選択しても上部分がちらつかないので) フレームセットは使用しない方法を調べてみます。 (というか、VS2005の中にフレームセットがありませんので・・・) べる様のご助言の様な感じでFormViewを遷移させたいので配置等行ってみたのですが、 遷移させるコードがわかりませんでした。 (遷移させたいFormViewは別のWebページの中にあります。多分作成の仕方が間違っていると思いますが・・・) ぴあちゃん様から頂いたご助言のjQuery,YUIについて調べてみます。 | ||||||||
|
投稿日時: 2008-07-01 08:45
Visual Studioはhtmlを作るものではなく、.NETアプリケーション(この場合ASP.NET)を作るものだからです。 htmlページを追加して、そこにframeタグとかframesetタグを書けばいいわけです。 それに、その考え方で行くとjQueryとかもVisual Studioにはありませんよ?
TreeViewで選択されたValueをFormViewに渡してFormViewの内容を変えたいという事ですか? TreeViewnのValueを検索キーにしたデータソースを用意し(この方法じゃなくてもいいけど) そのデータソースを使うFormViewを用意し、そのすべてをUpdatePanelに含めるだけで 希望の動作が実現できると思います。 |