複数のビューとコントローラで参照されている製品ツリービューがあります。製品ツリービューのツリービュー項目は、AJAXとパブリックActionメソッドを使用して動的にロードされます。デザイン:複数のコントローラ間で共有されている製品ツリービュー
私は、製品のツリービューのロジックとパブリックアクションメソッドをSharedControllerなどの共有コントローラに移動する必要がありますか?何がお勧めですか?
複数のビューとコントローラで参照されている製品ツリービューがあります。製品ツリービューのツリービュー項目は、AJAXとパブリックActionメソッドを使用して動的にロードされます。デザイン:複数のコントローラ間で共有されている製品ツリービュー
私は、製品のツリービューのロジックとパブリックアクションメソッドをSharedControllerなどの共有コントローラに移動する必要がありますか?何がお勧めですか?
burnt1ce、
は相変わらず、それはあなたが常にアヤックス(jqueryのかmsajaxを経由して、それを使用している場合、それはあまり重要ではないこと[?? ...依存しますが、ご質問に適切なタグを追加することができます])、私は、いくつかのオーバーロードを持つhtml.helperにリファクタリングして、異なる製品モデルをロードできるようにしたいと思うでしょう。 (必要な場合は、さまざまな製品サブクラスを許可するために、具体的なクラスではなく製品インターフェイスを使用することをお勧めします)...
ビューのコンテキストでロードする必要がある場合は、それはどこにあり、html.RenderAction()メソッドを介してロードします。
これは確かに私の最初の考えであろう。
あなたの製品データを取得するためのアクションを持つA ProductController(JSONを返す?)
Telerikのビューを綴るために部分的なビューを使用してください。私はそのビューから、製品を入手してツリービューを更新するためのajaxコールを作成すると仮定します。
<%= Html.Telerik().TreeView()
.Name("TreeView")
.Items(item =>
{
item.Add()
.Text("Mail")
.ImageUrl("~/Content/PanelBar/FirstLook/mail.gif")
.ImageHtmlAttributes(new { alt = "Mail Icon" })
.Items(subItem =>
{
...
ここで、AJAXリクエストに応答するアクションメソッドを保存しますか? Telerikのツリービューコントロール(http://demos.telerik.com/aspnet-mvc/treeview)を使用しているので、HTMLヘルパーに移動するためのプレゼンテーションロジックはあまりありません。 – burnt1ce
OK、サードパーティ製のtelerikコントロールであるツリービューについての部分を追加したので、状況が変わります。私はあなたがこの1つであなた自身の論理を動かしていると思ったので、上記の私のコメント。それがサードパーティのコントロールなら、私はあなたがtelerik mvcのコントロールを使用している経験がないので、telerikフォーラムで質問する必要があると思います。誤解をおかけして申し訳ありません。 –