0

我正在准备一个 ASP.NET MVC 应用程序的骨架,其中包含这些产品中包含的产品和部件的基本 CRUD 功能。应用程序包含几个基于 MasterPage 的强类型视图,现在我想添加一个小部件来显示菜单树。此菜单树将反映产品/部件结构,因此它与主窗口中显示的内容相关。

我搜索了论坛,发现了不同的树渲染方式,并在应用程序中包含了新的小部件:

  • jquery.treeview - 提供漂亮的树,但我如何在我的应用程序中使用(构建、渲染、传递给视图)它?
  • RenderPartial、RenderAction 等 - 似乎很清楚,所以我打算使用 RenderAction 方法将我的小部件包含在母版页中,但是如何构建/渲染要显示的树?
  • 扩展 HtmlHelper 以创建一个新的 Html.RenderTree 方法(很好的例子: http: //www.matthidinger.com/archive/2009/02/08/asp.net-mvc-recursive-treeview-helper.aspx

可能我应该合并一些已找到示例的片段,但由于我是 ASP.NET MVC 技术的新手,因此我不确定在这种情况下的最佳模式。

任何帮助(建议、模式、指出好例子等)将不胜感激。

谢谢迪克
_

4

2 回答 2

0

除非您需要精美的 UI 支持,否则我可能会使用呈现的现有 HtmlHelper 树。

如果您确实想使用 javascript 版本,您需要做的就是将所有内容包装在 Action 或部分 View 中,以便从母版页调用。

由于 MVC 缺少部分渲染或子控制器,因此获取数据将变得更加困难。

你可以使用这样的技术: Render Partial View Using jQuery in ASP.NET MVC

有关更多信息,请查看 MvcContrib 及其子控制器功能,当您使用它时,请查看:http ://devlicio.us/blogs/derik_whittaker/archive/2008/11/24/renderpartial-vs-renderaction.aspx了解更多信息以帮助您在 RenderAction 和 RenderPartial 之间做出决定。

IMO 我会不惜一切代价避免通过母版页进行渲染。您必须进入 masterviewmodels,如果您想要强类型的母版页,则必须将大量侵入性杂乱代码添加到您的 MVC 应用程序中。

于 2009-11-18T17:35:53.860 回答
0

您可以使用jqGrid来显示树。它还具有 CRUD 操作支持。并不是说它非常容易使用。

于 2009-11-18T16:56:28.750 回答