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

时间:2010-01-21 21:36:56

标签: asp.net-mvc

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

3 个答案:

答案 0 :(得分:2)

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

如果您计划在多个页面中使用相同的信息,请将其放在View中,就像使用WebForms中的UserControl一样。

如果您的网页规模庞大,那么将部分细分为视图可能也是一个好主意。它们会更小,更易于阅读和维护。

至于专门为“控制器方法”创建视图,我个人并不创建局部视图,意图直接使用它作为控制器方法的结果。通常情况下,当你意识到你可能需要开始移动一些东西时。

答案 1 :(得分:1)

@Brandon指出您使用PartialViews可重用性和可读性。

例如,您有一个IQueryable联系人列表。

您将拥有循环浏览列表的局部视图和呈现项目的局部视图。

当您这样做时,您可以编写启用循环局部视图的代码,以决定在有多种方式表示数据的情况下应该呈现联系人的部分视图。

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

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

答案 2 :(得分:1)

您可以将部分页面(.ascx文件)用于:

  1. 在网站的多个网页上实现包含公共链接的侧边栏。
  2. 避免模板重复(如NerdDinner example中所述)
  3. 使用部分页面的意图是遵循“不要重复自己”( DRY )原则。可以创建部分视图,而不是多次重复输出视图。这提高了可用性和可读性