休息一下还是继续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文件拷贝到当前项目中,并自动添加引用。

好了,匆匆结尾了,想想中午吃啥

ASP.NET MVC(二)的更多相关文章

  1. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  2. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 【转】

    http://www.cnblogs.com/powertoolsteam/p/MVC_two.html 通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上 ...

  3. 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器

    MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...

  4. 使用Zxing.net实现asp.net mvc二维码功能

    新建一个html辅助类 public static class HtmlHelperExtensions { , , ) { var barcodeWriter = new BarcodeWriter ...

  5. ASP.NET MVC(二) 理解MVC

    MVC模型同时提供对HTML.CSS以及JavaScript的完整控制. MVC模型通过三个逻辑层来定义WEB应用程序: (一)Business layer(业务层.模型逻辑) 模型(Model) 模 ...

  6. Asp.Net MVC<二> : IIS/asp.net管道

    MVC是Asp.net的设计思想,而IIS/asp.net是它的技术平台.理解ASP.NET的前提是对ASP.NET管道式设计的深刻认识.而ASP.NET Web应用大都是寄宿于IIS上的. IIS ...

  7. ASP.NET MVC 二维码生成(ThoughtWorks.QRCode)

    原文地址http://www.cnblogs.com/jys509/p/4592539.html

  8. 自学MVC看这里——全网最全ASP.NET MVC 教程汇总

    MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口.本文从 ...

  9. 七天学会ASP.NET MVC(七)——创建单页应用

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

随机推荐

  1. Xcode 之自己编译静态库

    今天介绍下,如何利用Xcode,新建一个静态库,以及如何编译成i386.armv7.armv7s 等平台架构. 开发环境:MAC OS X 10.9.4 + Xcode 5.0.2 背景知识:库分两种 ...

  2. NSURLConnection同步与异步请求 问题

    NSURLConnection目前有两个异步请求方法,异步请求中其中一个是代理.一个同步方法.有前辈已经详细介绍,见:http://blog.csdn.net/xyz_lmn/article/deta ...

  3. Fatal error: Cannot redeclare tran() (previously declared in

    解决方法如下: 1.你该段源码里面是不是有include 或者require 之类的包含其他文件函数 包含的文件里已经有 函数 nw() 的定义 而这段代码里又有nv()的定义 所以出现redecla ...

  4. pickle 数据对象的序列化和反序列化

    python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...

  5. 取消table中tr td的边距

    <table border="0" cellspacing="0" cellpadding="0">

  6. raspberryPi 拍照

    调用python的库,学习raspberryPi的摄像头操作方法. 参考链接: https://www.raspberrypi.org/learning/getting-started-with-pi ...

  7. DelayQueue

    1.结构 使用的是PriorityQueue来作为底层的存储 元素需要实现Delayed接口,该接口继承了comparable接口 DelayQueue的队头元素是根据comparable排在队首的元 ...

  8. SQLPlus Error handle

    SQLPlus directive "WHENEVER SQLERROR EXIT 1" will return a specified code when any SQL err ...

  9. T4自动生成数据库C#实体类学习(1)

    第一个测试的Demo <#@ template language="C#" debug="True" hostspecific="True&qu ...

  10. XiaoShi657的留言板

    大家好,很荣幸能够借助此平台和大家分享.讨论编程技术! 有什么想对我说的请在这里留言吧