ASP.NET MVC4(一)
标签: ASP.NET
1. 项目结构介绍
- App_Data目录
可以存放数据库、XML文件,或应用程序所需的其它数据。不能直接访问其中的文件,只能通过应用程序才可以读写该目录。
- Content目录
存放各种非编码资源,包括图像和CSS文件等。
- Controller目录
负责处理输入并决定应该执行哪一动作(如渲染一个视图)的协调程序,存放的是类。
- Models目录
存放应用程序核心概念的各种类,或者将数据约束成某种格式的类,这些类专用于特定的视图,故称为视图模型。
- Scripts目录
存在应用程序所使用的各种JavaScript文件的地方,包括流行的开源JQuery库和用于执行客户端验证的脚本。
- Views目录
存放用于渲染用户界面的模板。
- Global.asax
应用程序第一次启动时需要运行的初始化代码。
- Web.config
ASP.NET MVC正确运行所必须的配置细节。
2. 视图
- 如何渲染内容
public class GuestbookController : Controller
{
public ActionResult Index()
{
return View()
}
}
调用View方法会返回ViewResult对象,它知道如何渲染一个特定的视图。当不带参数调用该方法时,框架认定待渲染视图的名称应当与动作名(Index)相同。然后在MVC管线中,框架的ControllerActionInvoker类会执行这个ViewResult,并告诉它渲染该视图。默认的视图引擎会在Views/<控制器名>和Views/Shared目录中查找。控制器名>
- 给视图传递数据的方式
- ViewDataDictionary(视图数据字典):ViewData[“key”], 需要类型转换
- ViewBag(视图包)
- 强类型视图
- 强类型视图
默认情况下,视图继承于两种类型:WebViewPage或WebViewPage
- 在视图中显示视图模型数据
@Html.DisplayFor
@Html.DisplayTextFor
@Html.EditorFor
@Html.CheckBoxFor
@Html.DropDownListFor
@Html.HiddenFor
@Html.LabelFor
@Html.ListBoxFor
@Html.PasswordFor
@Html.RadioButtonFor
@Html.TextAreaFor
@Html.TextBoxFor
@Html.ValidateFor
@Html.ValidationMessageFor