【问题标题】:Are MVC Partial views like WebForms Controls?MVC 部分视图是否类似于 WebForms 控件?
【发布时间】:2014-05-31 13:58:37
【问题描述】:

好的,问题标题并不能很好地反映问题。但这里是它的荣耀。

我目前正在从 WebFroms 过渡到 MVC,因为每个人似乎都想要它而不知道为什么。撇开办公室政治不谈。

我认为局部视图“就像”一个网络表单控件,因为它是一个几乎独立的单元,可以添加到整个 _layout 中,我是否正确?如果没有 - 请告诉我部分视图的要点和基本原理 - 在哪里使用它们,何时以及为什么?

对不起,这不是最好的解释——但这对我来说有点困惑,所以我的问题也很困惑也就不足为奇了:P

提前致谢。

【问题讨论】:

  • 我会这么说。我会说,如果您有一个包含许多数据源的大型仪表板,或者为每个仪表板项目使用部分视图的数据类型确实有意义。当然,使用 partial 会使视图更易于管理。
  • 部分视图是可重复使用的视图(具有不同的布局),可以在整个网站上使用。

标签: c# asp.net-mvc webforms partial-views


【解决方案1】:

在 Web 表单中,哲学控件包含 UI 部分和一些后端逻辑,因此您可以创建一个组合框控件,该控件始终显示某些带有特殊样式的 DB 表中的列表项,例如总是在蓝色背景的红色矩形中

在 MVC 哲学中,部分视图只是一个视图部分,因此根据上面的示例,特定视图将仅包含 UI 组件,其余逻辑(数据提供者)应在控制器的操作中。

MVC 将 UI 与数据提供者分离,因此您可以创建仍然可以与先前定义的数据提供者(操作)一起使用的其他视图,反之亦然,您可以将相同的部分视图(视图)用于其他数据提供者(操作)一些界面

【讨论】:

  • 所以局部视图是设计器代码,.cs 是控制器代码。局部视图通常会放置在 _Layout 中。我想我明白了。
【解决方案2】:

在一个典型的 win 表单中,你有一个包含几个自定义控件的表单,每个自定义控件都实现了整个业务逻辑的一部分,当自定义控件想要相互通信时,它们会通过 Presenter 传递数据。此外,每个自定义控件都是 Windows 标准控件(按钮、标签、文本框等)的组合。在这种情况下,你可以认为每个标准控件是一个html元素,自定义控件是部分视图,整个表单是一个视图,presenter是action方法+ajax调用。

【讨论】:

    【解决方案3】:

    MVCWebForms 都是编程模型。

    比较partial viewsWebforms 并不是比较苹果和苹果。

    当谈到MVC 时,你必须有不同的想法,甚至忘记WebForms

    在我看来,最接近 Web 表单中的局部视图的是母版页。这只是它的aspx 标记方面(View)。

    【讨论】:

    • 我不同意这一点,因为我认为 _Layout 似乎是包含部分视图的母版页。
    • @DaveGordon 问题是你试图找到共同点,但它们完全不同
    • 不——我认为会有一些共同点,否则我们都必须完全从头开始学习 MVC,而根本无法使用任何先验知识。事实并非如此。我试图找到的是一个有说服力的局部观点范式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多