休息一下还是继续ASP.NET MVC 的基础知识。
这篇文件我想和大家一起熟悉下ASP.NET MVC项目的目录结构及dll。
1. ASP.NET MVC 项目的目录结构
App_Data: 存放数据文件
Content: 建议放一些资源文件,例如 Css, 图片等,当然你也可以选择不放任何内容
Controllers : 建议将Controllers类都放到此目录下,便于管理。
Controller 类命名必须以Controller结尾
Models: 建议存放业务实体、数据访问层的类。
Scripts: 存放JS文件
Views: 在默认情况下,所以的View文件都必须放到这个目录中,每个Controller对应一个子目录,一般每个Action对应一个页面。
Views目录下还有一个Shared的子目录,这个子目录是用于存放一些共享的view的,例如Error.aspx和Site.Master。Controller在Views\ControllerNmae 中找不到指定的view的时候,会到Shared中去寻找。
2. Asp.NET 核心 DLL
System.Web.Routing :URL路由。将一个URL路由到对应的Controller上靠的就是这个。是在HttpModule里面处理的。
System.Web.Extensions :这个是ASP.NET AJAX的。
System.Web.Mvc: ASP.NET MVC最主要的程序集。在CodePlex上放出源代码的就是这个DLL。
System.Web.Abstractions :这个程序集是一些相关的基类来的。例如HttpContextBase、HttpRequestBase 等等。
在VS2008中,可能需要手动添加DLL文件,这里我详细介绍System.MVC
打开 HomeController, 可以看到 using Sytem.Web.Mvc , 也就是当我们创建Controol 类时,会自动为我们添加引用。但是它是如何添加的呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace My_MVC.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
//返回View给客户端,如果View不带参数,就是返回和Action同名的View
// 相当于 return View("Index");
return View();
}
}
}
HomeController
HomeController 继承 Controller, F12 进入Controller 类,可以看到
#region 程序集 System.Web.Mvc.dll, v3.0.0.0
// E:\NET\classromm_test\My_MVC\packages\Microsoft.AspNet.Mvc.3.0.20105.1\lib\net40\System.Web.Mvc.dll
#endregion
仔细查看路径,很熟悉是吧,这就是项目的所在路径。现在就很清楚了,当我们创建MVC 项目时,会自动将Mvc所需要的DLL文件拷贝到当前项目中,并自动添加引用。
好了,匆匆结尾了,想想中午吃啥