系列导航
Q70. 什么是 ASP.NET MVC 中的 Partial View(分布视图)?
Ans. Partial view 类似于 ASP.NET web forms 中的 user control(用户控件)用来进行代码重用。 Partial views 帮助我们减少重复代码。
因此 Partial views 是可重用的,像 Header 和 Footer 视图那样。
我们可以使用它去显示博客评论,商品类别,社交按钮,动态时钟日历等等。
创建 partial view 的最佳实践是在 Shared 文件夹创建并以 "_" 为前缀命名,但这并不是强制的。视图以 "_" 为前命名则说明该 view 是一个可重用的。
Q71. 如何在 controller 中返回 partial view ?
Ans.
其中 options 可以是一个 Model 或 View 名称。
- return PartialView(options);
Q72. ASP.NET MVC 有哪几种方式用来返回一个 Partial View?
Ans. 主要有以下四种方式:
html.RenderPartial
- @{Html.RenderPartial("_Comments");}
Html.RenderAction
- @{Html.RenderAction("Category","Home");}
Html.Partial
- @Html.Partial("_Comments")
Html.Action
- @{Html.Action("Category","Home");}
Q73. 介绍下 ASP.NET MVC 中的 Area?
Ans. Areas 是在 Asp.net MVC2 引入的。根据 Web 应用的 functional sections(职能)来分离 models, views, 和 controllers。例如 administration(后台管理), billing(订单处理), customer support(客户支持)等。
在大的 web 项目中,使用 Area 非常有帮助,它将每个模块放到单独的文件夹下处理。但同时,使用 Area 会导致难于管理。
每一个 Mvc area 拥有自己的文件结构,用来分开保存 controllers, views, 和 models。这也有利于多个开发者共同开发同一个 Web 应用,而互不干扰。
Q74. ASP.NET MVC 中如何注册 Area?
Ans. 在使用 Area 之前,确保已经在 Global.asax 的 Application_Start 方法中注册。
- protected void Application_Start()
- {
- //Register all application Areas
- AreaRegistration.RegisterAllAreas();
- }
需要记住的是,必须在最开始注册 Area,以至于注册的 settings, filters 和 routes
能够应用于 Area。
Q75. 什么是 Child action 以及如何调用它?
Ans. 使用 Child action 非去创建可重用的组件非常方便,它能直接植入你的视图。
ASP.NET MVC 的 partial views 也是用来创建可重用的组件,一个 Partial View 可用通过一个 Action 方法呈现。
Action 方法可以用 child 特性标记,从而拥有独立于父视图的 MVC 生命周期。
Child action 不能独立被调用,一般在 View 的内部被调用。
- [ChildActionOnly]
- public ActionResult MenuBar()
- {
- //TODO:
- return PartialView();
- }
一个 child action 可以在一个 View 中通过
或
- @Html.RenderAction
来调用。
- @Html.Action
Q76. 什么是 Scaffolding(脚手架)?
Ans. Scaffolding 是一个用来高效生成基本的 CRUD 代码。
而且你可以根据自己的需求自定义自动生成的代码。
Scaffolding 包括 page templates, entity page templates, field page templates, 以及 filter templates。这些模板统称脚手架模板,帮助我们快速构建功能性数据驱动网站。
Q77. 脚手架模板在 ASP.NET MVC 是如何工作的?
Ans. Scaffold templates 在 EF 的帮助下生成基本的代码用来基本的 CRUD 操作。这些模板使用的是 Visual Studio T4 模板系统去生成视图来进行 CRUD 操作。
下面是具体的步骤:
来源: http://www.cnblogs.com/sheng-jie/p/6408930.html