Asp.net mvc 为什么使用ASP.NET MVC局部视图(.ascx)

Asp.net mvc 为什么使用ASP.NET MVC局部视图(.ascx),asp.net-mvc,Asp.net Mvc,正如话题所说。我为控制器方法添加视图的原因和场景是什么?我应该选中复选框“创建局部视图(.ascx)?两个主要原因是可重用性和可读性 如果您计划在多个页面中包含相同的信息,请将其放在视图中,就像在WebForms中使用UserControls一样 如果你的页面将是巨大的,那么将部分划分为视图也是一个好主意。它们将更小,更易于阅读和维护 至于专门为控制器方法创建视图“,我个人从来没有创建过一个局部视图,目的是将其作为控制器方法的结果直接使用。当你意识到你可能需要开始移动一些东西时,它通常会在稍后出

正如话题所说。我为控制器方法添加视图的原因和场景是什么?我应该选中复选框“创建局部视图(.ascx)?

两个主要原因是可重用性和可读性

如果您计划在多个页面中包含相同的信息,请将其放在视图中,就像在WebForms中使用UserControls一样

如果你的页面将是巨大的,那么将部分划分为视图也是一个好主意。它们将更小,更易于阅读和维护


至于专门为控制器方法创建视图“,我个人从来没有创建过一个局部视图,目的是将其作为控制器方法的结果直接使用。当你意识到你可能需要开始移动一些东西时,它通常会在稍后出现。

正如@Brandon所指出的,你使用PartialViews来实现可重用性和可读性

例如,在一个场景中,您有一个可查询的联系人列表

您将拥有一个在列表中循环的局部视图和一个呈现项目的局部视图

当您这样做时,您可以编写代码,使循环部分视图能够决定在有多种方法表示数据时,哪个部分视图应该呈现联系人

如果将这些局部视图放置在共享fodler中,则它们可以在整个应用程序中使用

此外,还可以使用AJAX/jQuery调用控制器操作。然后,该操作将返回一个PartialView,该视图可以显示在屏幕上。当您不刷新整个页面时,会使您的站点看起来非常流畅。

您可以使用部分页面(.ascx文件)来:

  • 在一个网站的多个页面上使用公共链接实现侧边栏
  • 避免模板重复(如中所述)

  • 使用部分页面的目的是遵循请勿重复(DRY)原则。可以创建局部视图,而不是多次重复输出视图。这提高了可重用性和可读性

    另一个原因可能是渲染使用ajax提供的数据,但用户关闭了javascript。所以它会以另一种方式出现。