2012-01-31 9 views
0

私は左側に#TreeDiv、右側に#DataGridDivを含むCSS#MainDivを持っています。ユーザーインターフェイスをasp.net mvcビューに分割します

TreeDivにはDepartmentオブジェクトのJavascriptツリービューが含まれ、DataGridDiv にはEmployeeオブジェクトを含むDatagridが含まれています。

ツリービュー内のDepartmentの選択を変更すると、DataGrid内の関連する従業員オブジェクトも変更されるはずです。

私はDepartmentControllerをセットアップしました。両方のコントロールは、ajax を介して互いに独立してデータを受信できる必要があります。

1.)この集計されたデータをビューに表示するには、私のIndexメソッドが返すべきオブジェクトは何ですか?

2.)コントロールをどのような種類のビューに分割する必要がありますか?

答えて

0

2.)コントロールをどのような種類のビューに分類する必要がありますか?

#MainDiv、#TreeDiv、#DatagridDivでビューを作成します。 #TreeDivにあなたのツリーコントロールをホストさせてください(あなたはすでにこれを知っています)。部分ビューを作成して、従業員オブジェクトを含むデータグリッドを表示します。 #DatagridDivがこの部分的なビューをホストするようにします。

ツリーコントロールで部門を選択すると、部門を受け入れて、従業員データを含む部分ビューを返すコントローラメソッドにajax呼び出しを行うことができます。返されたデータで#DatagridDivを更新します。

また、コントローラメソッドはJson形式(部分ビューではなく)の従業員データを返すことができ、javascript/jqueryを使用して#datagridDiv内のhtmlテーブルにこれを設定できます。

1.)この集計されたデータをビューに表示するために、私のインデックスメソッドはどのようなオブジェクトを返しますか?

インデックスメソッドでは、すべての3つのディビットとツリーコントロールで設定された#TreeDivを含むビューを返すことができます。クライアント側では、ページがロードされるときに、選択した部門を識別してajax呼び出しを行い、#datagridDivを更新することができます。このアプローチではクライアント側に遅れが生じますが、ページを読み込んでいる/ divが更新中であることを示すアニメーションを表示するために使用できます。

この遅延期間を追加したくない場合は、ツリービューが読み込まれるときに選択される部門を特定し、その部門の部分ビューを作成し、これをサーバー側の#datagridDivに追加して配信します。

+0

なぜ私はdataggriddivの部分を作成する必要がありますか? – Pascal

+0

Viewは、完全なHTMLページと、headタグとbodyタグで構成されています。部分的なビューはhtmlタグ(コントロールを表す)だけをレンダリングします。あなたはajax呼び出しでdivを更新するだけなので、部分的なビューを持つ方がよいでしょう。 – Rakesh

+0

なぜ、Add/Delノードでajaxを更新するTreeControlの部分ビューも作成するようにアドバイスしていませんでしたか? – Pascal

関連する問題