MVC部分视图是否像WebForms Controls一样?

时间:2014-05-31 13:58:37

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

好的,问题标题并没有真正反映出这个问题。但在这里,它充满了荣耀。

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

我是否正确地认为局部视图“喜欢”一个webform控件,因为它是一个几乎独立的单元,可以增加整个_layout?如果没有 - 你能否告诉我部分观点的要点和理由 - 在哪里使用它们,何时以及为何?

对不起,不是最好的解释 - 但这对我来说有点混乱,所以我的问题也很困惑并不令人惊讶:P

提前致谢。

3 个答案:

答案 0 :(得分:4)

在Web表单中,哲学控件是保持UI部分和一些后端逻辑,因此您可以创建一个组合框控件,该控件始终显示来自某些DB表的列表项,并具有特殊的窗格,例如:总是在蓝色背景的红色矩形

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:1)

MVCWebForms都是编程模型。

partial viewsWebforms进行比较并不是将苹果与苹果进行比较。

MVC或甚至忘记WebForms

时,您必须要有所不同

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