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

7

正如题目所说,我在为控制器方法添加视图时,为什么要选择复选框“创建一个局部视图(.ascx)”?这是什么原因和场景呢?

3个回答

3
两个主要原因是可重用性和可读性。
如果您计划在多个页面中使用相同的信息,请将其放在视图中,就像在WebForms中使用UserControls一样。
如果您的页面将会非常庞大,则将部分内容拆分为视图也是一个好主意。它们会更小,更易于阅读和维护。
至于专门为“控制器方法”创建视图,我个人从不创建部分视图,以便直接用作控制器方法的结果。通常是在之后当你意识到需要开始移动一些东西时才会出现。

2
另一个原因可能是渲染使用ajax提供的数据,但用户已关闭了JavaScript。因此,它将以另一种方式呈现。 - Trimack

2

正如@Brandon所指出的那样,您可以使用PartialViews来实现可重用性和可读性。

举个例子,假设您有一个IQueryable联系人列表。

您将拥有一个循环遍历该列表的部分视图和一个呈现项目的部分视图。

当您以这种方式进行操作时,您可以编写代码,使循环部分视图能够决定如果有多种表示数据的方法,则应呈现哪个部分视图。

如果您将这些部分视图放在共享文件夹中,则可以在整个应用程序中使用它们。

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


2

您可以使用部分页面(.ascx文件)来实现以下功能:

  1. 在网站的多个页面中实现带有常见链接的侧边栏。
  2. 避免模板重复(如NerdDinner example所述)

使用部分页面的目的是遵循不要重复自己(DRY)原则。不必多次重复输出视图,可以创建一个部分视图。这提高了可重用性和可读性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接