【问题标题】:What's the equivalent of ASCX-Code Behind in MVC 3?MVC 3 中 ASCX-Code 的等价物是什么?
【发布时间】:2011-07-27 06:33:31
【问题描述】:

我从未使用 ASP.NET MVC 3 构建过大型项目,但我正在努力按照设计的方式构建和使用框架,所以在我开始疯狂狂欢 Html Helpers 之前,我想知道在 MVC 3 上创建“自定义控件”的最佳方式是什么。

这是一个简单的例子:我可能有一个动态生成的导航菜单。菜单项将根据您在网站上的位置、一些静态菜单项、一些基于数据库的动态菜单等来决定。

在将 NavMenu 与视图隔离时,我看到的两种方法是创建部分视图或 Html 助手。

部分视图似乎是要走的路,因为我可能有 100 多个这样的小组件。但是,部分视图应该(根据我的理解)只处理表示层而不是模型逻辑。同时,我不希望主视图的 Model 每个局部视图都包含 100 个子 Model。

我应该把东西放在 ViewBag 上吗?我是否应该有一个基本控制器来负责填充 ViewBag / ViewData 与渲染该部分视图所需的任何内容?或者,正确的方法是创建 HtmlHelpers 并使用 C# 生成所有 HTML?

我关心的是代码的可维护性、性能以及能否让设计人员访问产品以使用相同内容的不同视觉表示。

换句话说,ASCX + 代码隐藏在 MVC 3 中的等价物是什么?

【问题讨论】:

    标签: asp.net-mvc-3 razor


    【解决方案1】:

    您应该在单独的菜单控制器中创建子操作,将数据收集到模型中并返回部分视图。
    您可以将相同的模型用于不同的操作。

    【讨论】:

    • 宾果游戏!我不知道儿童行动。我会调查它,但它似乎正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多