我有一个在多个视图和控制器中引用的产品树视图。使用AJAX和公共Action方法动态加载产品树视图的树视图项。
我应该将产品树视图的逻辑和公共操作方法移动到共享控制器(如SharedController)吗?你推荐什么?
答案 0 :(得分:1)
burnt1ce,
一如既往,它取决于...如果你总是通过ajax使用它(jquery或msajax ?? [不重要,但允许你在问题中添加适当的标签]),那么我会试图将它重构为带有一些重载的html.helper,以允许加载不同的产品模型。 (我建议使用产品接口,而不是具体的类,以便在需要时允许各种产品子类)...
如果您需要在视图的上下文中加载它,那么您可以将其保留在原来的位置并通过html.RenderAction()方法加载它。
这肯定是我最初的想法。
答案 1 :(得分:0)
ProductController,其中包含检索产品数据的操作(返回JSON?)
使用部分视图拼出Telerik View。我假设从那个视图你将进行ajax调用以获取产品然后更新具有该数据的treeview?
<%= Html.Telerik().TreeView()
.Name("TreeView")
.Items(item =>
{
item.Add()
.Text("Mail")
.ImageUrl("~/Content/PanelBar/FirstLook/mail.gif")
.ImageHtmlAttributes(new { alt = "Mail Icon" })
.Items(subItem =>
{
...