質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

解決済

1回答

9680閲覧

MVC5でのツリービューとタブコントロールの作成方法

Yuki_S

総合スコア356

ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

0クリップ

投稿2016/04/26 07:39

###前提・実現したいこと
ASP.NETで構築されていたものについてバージョンアップを機にASP.NET MVC5で作成しなおすことになり、現在必死に実践プログラミングを読みながら実装を試みています。その中で、主に部分更新の箇所がわからず質問させていただきました。

###発生している問題・エラーメッセージ
ASP.netで実現している下記ツリービューの実装とタブコントロールの部分ビューでの実装がMVCでできない。

<asp:TreeView ID="AAAAA" runat="server" ImageSet="Simple" ShowLines="True"> <ParentNodeStyle Font-Bold="False" /> <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" /> <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px" VerticalPadding="0px" /> <NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black" HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" /> </asp:TreeView> <asp:Repeater ID="CityInfoList" runat="server"> <ItemTemplate> <h3><a href="./CityTop.aspx?bID=<%#DataBinder.Eval(Container.DataItem, "ID1")%>"><%#DataBinder.Eval(Container.DataItem, "ID2")%>&nbsp;<%#DataBinder.Eval(Container.DataItem, "ID3")%>&nbsp;<span class="CityLink">(物件情報を参照する)</span></a></h3> <table border="0" cellpadding="0" cellspacing="0"> <tr> <th class="InfoHead">表示項目</th> <td class="InfoData"><%#DataBinder.Eval(Container.DataItem, "表示項目")%>&nbsp;</td> </tr> </table> </ItemTemplate> </asp:Repeater>

###該当のソースコード
1.
runatやTreeViewなどがMVCでは使えないということで、代わりのものを探しており、SharkDevなどでツリー構造を実装することはできましたが、項目を選択した際に、選択した内容を参照してビューを更新することができませんでした。いろいろ検索もしてみましたが見つけることができず困っています。

複数のビューを用いてタブのように見せることはできましたが、これを部分ビューを用いて実装することで画面遷移時に一瞬起こる共通部の再読み込みをなくしたいと考えています。

###補足情報(言語/FW/ツール等のバージョンなど)
ASP.NET MVC5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ASP.NETのWebアプリを ASP.NET MVCベースで再構築するというと、少なくともフロントエンドの仕組み(ビューとコントローラー部分)は全部作り直しになるのも仕方ないという判断ですよね。

それならば、いっそのことASP.NET MVC5にAngularJS を追加することを検討されてはいかがでしょうか。
MVCになってビューの表現力が多少低下した(というか簡単に使えて便利だったサーバーコントローラー類が全部なくなってしまい面倒が増えた)側面を十分に補うことができます。

TreeViewについても、AngularJS用のTreeViewプラグインライブラリを使うことができますし、AngularJS自体がブラウザ側でのMVCスキームを構築してくれますから、TreeViewで選択されたアイテムに応じて、詳細ビューの内容を変える(カレントレコードを変更する)という典型的な処理を、すっきりと設計することができますよ。

ASP.NET MVC5 + AngularJS については、下記のサイトにちょうどよい解説記事がありました。(途中 GruntやBowerなど、AngularJSとは直接関係ない話が出てきますが、その部分はナナメ読みで良いと思います。)

ご参考になれば。

投稿2016/04/26 10:00

tkanda

総合スコア2425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuki_S

2016/04/26 10:24

ご回答ありがとうございます。 すべて作成しなおしでよいという判断です。 AngularJSですか、名前だけは聞いたことあるといった状況です。 さっそくいただいたリンク読ませていただきます。
Yuki_S

2016/04/27 10:08

何とかめどが見えそうです。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問