w3school mvc学习笔记

ASP.NET 是一个开发框架,用于经过 HTML、CSS、JavaScript 以及服务器脚原本构建网页和网站。css

ASP.NET 支持三种开放模式:html

Web Pages、MVC (Model View Controller) 以及 Web Forms:jquery

 

MVC 编程模型

MVC 是三个 ASP.NET 开发模型之一。web

MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计:数据库

  • Model(模型)表示应用程序核心(好比数据库记录列表)
  • View(视图)对数据(数据库记录)进行显示
  • Controller(控制器)处理输入(写入数据库记录)

MVC 模型同时提供对 HTML、CSS 以及 JavaScript 的完整控制。编程

MVC 模型经过三个逻辑层来定义 web 应用程序:安全

  • business layer(业务层、模型逻辑)
  • display layer(显示层、视图逻辑)
  • input control(输入控件、控制器逻辑)

模型(Model)服务器

模型(Model)是应用程序中用于处理应用程序数据逻辑的部分。app

一般模型对象在数据库中存取数据。框架

View(视图)

View(视图)是应用程序中处理数据显示的部分。

一般从模型数据中建立视图。

控制器

控制器是应用程序中处理用户交互的部分。

一般控制器从视图读取数据、控制用户输入,并向模型发送数据数据。

MVC 的这种拆分有助于咱们管理复杂的应用程序,由于您可以在同一时间关注一个方面。例如,您能够在不依赖业务逻辑的状况下对视图进行设计。同时对应用程序的设计也更加容易。

MVC 的这种拆分同时也简化了分组开发。不一样的开发人员可同时开发视图、控制器逻辑和业务逻辑。

Web Forms vs MVC

MVC 编程模型是与传统的 ASP.NET (Web Forms) 相比更轻量级的替代方案。它是轻量级的高可测试性的框架,同时整合了全部已有的 ASP.NET 特性,好比模板页、安全性和认证

 

MVC 文件夹

典型的 ASP.NET MVC web 应用程序拥有以下文件夹内容:

应用程序信息

  • Properties
  • 引用

应用程序文件夹

  • App_Data 文件夹
  • Content 文件夹
  • Controllers 文件夹
  • Models 文件夹
  • Scripts 文件夹
  • Views 文件夹

配置文件

  • Global.asax
  • packages.config
  • Web.config

全部 MVC 应用程序中的文件夹名称都是相等的。MVC 框架基于默认的命名。控制器位于 Controllers 文件夹,视图位于 Views 文件夹,模型位于 Models 文件夹。您没必要在应用程序代码中使用文件夹名称。

标准化的命名减小了代码量,同时有利于开发者对 MVC 项目的理解。

下面是对每一个文件夹内容的简要描述:

App_Data 文件夹

App_Data 文件夹用于存储应用程序数据。

咱们将在本教程稍后的章节向 App_Data 文件夹添加 SQL 数据库。

Content 文件夹

Content 文件夹用于静态文件,好比样式表(CSS 文件)、图表和图像。

Visual Web Developer 会自动向 Content 文件夹添加一个 themes 文件夹。这个 themes 文件夹存放 jQuery 样式和图片。在这个项目中,您能够删除这个主题文件夹。

Visual Web Developer 同时向项目添加标准的样式表文件:Content 文件夹中的文件 Site.css。这个样式表文件是您但愿改变应用程序样式时须要编辑的文件。

咱们将在本教程的下一章中编辑这个样式表文件 (Site.css)。

Controllers 文件夹

Controllers 文件夹包含负责处理用户输入和响应的控制器类。

MVC 要求全部控制器文件的名称以 "Controller" 结尾。

Visual Web Developer 已建立好一个 Home 控制器(用于首页和关于页面)以及一个 Account 控制器(用于登陆页面):

咱们将在本教程稍后的章节建立更多控制器。

Models 文件夹

Models 文件夹包含表示应用程序模型的类。模型存有并操做应用程序的数据。

咱们将在本教程稍后的章节建立模型(类)。

Views 文件夹

Views 文件夹存有与应用程序的显示相关的 HTML 文件(用户界面)。

Views 文件夹中含有每一个控制器对于的一个文件夹。

Visual Web Developer 已建立了一个 Account 文件夹、一个 Home 文件夹、一个 Shared 文件夹(在 Views 文件夹内)。

Account 文件夹包含用于注册并登陆用户账户的页面。

Home 文件夹用于存储诸如首页和关于页之类的应用程序页面。

Shared 文件夹用于存储控制器间分享的视图(模板页和布局页)。

咱们将在本教程的下一章编辑这些布局文件。

Scripts 文件夹

Scripts 文件夹存储应用程序的 JavaScript 文件。

默认地,Visual Web Developer 在这个文件夹中放置标准的 MVC、Ajax 以及 jQuery 文件:

注释:文件 "modernizr" 是用于在应用程序中支持 HTML5 和 CSS3 的 JavaScript 文件。

 

添加布局

文件 _Layout.cshtml 表示应用程序中每一个页面的布局。它位于 Views 文件夹中的 Shared 文件夹。

打开这个文件,把其内容替换为:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Movies", "Index", "Movies")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
</ul> 
<section id="main">
@RenderBody()
<p>Copyright W3schools 2012. All Rights Reserved.</p>
</section>
</body>
</html>

HTML 帮助器

在上面的代码中,HTML 帮助器用于修改 HTML 输出:

@Url.Content() - URL 内容在此处插入。

@Html.ActionLink() - HTML 连接在此处插入。

咱们将在本教程稍后的章节讲解 HTML 帮助器。

Razor 语法

在上面的代码中,由红色标记的代码是使用 Razor 标记的 C#。

@ViewBag.Title - 在此处插入页面标题。

@RenderBody() - 此处呈现页面内容。

_ViewStart 文件

Shared 文件夹(位于 Views 文件夹内)中的 _ViewStart 文件包含如下内容:

@{Layout = "~/Views/Shared/_Layout.cshtml";}

这段代码被自动添加到由应用程序显示的全部视图。

若是删除该文件,则必须向全部视图添加这段代码。

您将在本教程稍后的章节学到更多有关视图的知识。

Controllers 文件夹

Controllers 文件夹包含负责处理用户输入和响应的控制器类。

MVC 要求全部控制器的名称必须以 "Controller" 结尾。

在咱们的例子中,Visual Web Developer 已建立如下文件:HomeController.cs(用于首页和关于页面)和 AccountController.cs (用于登陆页面):

web 服务器一般会将进入的 URL 请求直接映射到服务器上的磁盘文件。例如:某个 URL 请求(好比 "http://www.w3school.com.cn/index.asp")将映射到服务器根目录上的文件 "index.asp"。

MVC 框架的映射方式有所不一样。MVC 将 URL 映射到方法。这些方法在类中被称为“控制器”。

控制器负责处理进入的请求、处理输入、保存数据、并把响应发送回客户端。

 

Views 文件夹

Views 文件夹存储的是与应用程序显示(用户界面)相关的文件(HTML 文件)。根据语言的不一样,这些文件的扩展名多是 html、asp、aspx、cshtml 以及 vbhtml。

Views 文件夹包含每一个控制器对应的一个文件夹。

Visual Web Developer 已建立了一个 Account 文件夹、一个 Home 文件夹、一个 Shared 文件夹(在 Views 文件夹内)。

Account 文件夹包含用于注册并登陆用户账户的页面。

Home 文件夹用于存储诸如首页和关于页之类的应用程序页面。

Shared 文件夹用于存储控制器间分享的视图(模板页和布局页)。
 

ASP.NET 文件类型

可以在 Views 文件夹中找到如下 HTML 文件类型:

文件类型 扩展名
纯 HTML .htm or .html
经典 ASP .asp
经典 ASP.NET .aspx
ASP.NET Razor C# .cshtml
ASP.NET Razor VB .vbhtml

 

建立数据库

Visual Web Developer 带有免费的 SQL 数据库,名为 SQL Server Compact。

本教程所需的这个数据库可以经过如下几个简单的步骤来建立:

  1. 右键点击解决方案资源管理器中的 App_Data 文件夹
  2. 选择添加新项目
  3. 选择 SQL Server Compact Local Database *
  4. 把这个数据库命名为 Movies.sdf
  5. 点击添加按钮

* 若是选项中没有 SQL Server Compact Local Database,则表示您还没有在计算机上安装 SQL Server Compact。请经过如下连接安装:SQL Server Compact

添加连接字符串

向 Web.config 文件中的 <connectionStrings> 元素添加以下元素:

<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|\Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>

 

MVC 模型

MVC 模型包含全部应用程序逻辑(业务逻辑、验证逻辑、数据访问逻辑),除了纯视图和控制器逻辑。

经过 MVC,模型可保存并操做应用程序数据。

运行:Install-Package Microsoft.AspNet.Web.Optimization后从新生成项目

添加数据库控制器

本教程所需的数据库控制器可以经过如下几个简单的步骤来建立:

  1. 重建您的项目:选择测试,而后从菜单中选择 Build MvcDemo。
  2. 在解决方案资源管理器中,右键点击 Controllers 文件夹,而后选择添加、控制器。
  3. 把控制器名称设置为 MoviesController
  4. 选择模板:Controller with read/write actions and views, using Entity Framework
  5. 选择模型类:MovieDB (MvcDemo.Models)
  6. 选择 data context 类:MovieDBContext (MvcDemo.Models)
  7. 选择视图 Razor (CSHTML)
  8. 点击添加

Visual Web Developer 将建立以下文件:

  • Controllers 文件夹中的 MoviesController.cs 文件
  • Views 文件夹中的 Movies 文件夹

添加数据库视图

如下文件会被自动地在 Movies 文件夹中建立:

  • Create.cshtml
  • Delete.cshtml
  • Details.cshtml
  • Edit.cshtml
  • Index.cshtml

ASP.NET MVC - 发布网站

1.可使用IDE自带的发布工。

复制 Web 文件夹

从开发机上把您的网站(全部文件夹和内容)复制到远程主机(服务器)上的应用程序文件夹。

若是 App_Data 文件夹中包含测试数据,请不要复制这个 App_Data 文件夹。

3. 复制 DLL 文件

在远程服务器上的应用程序根目录中建立 bin 文件夹。(若是您已安装帮助器,则 bin 文件夹已经存在)

从您的文件夹中复制如下全部文件:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

到远程服务器上的 bin 文件夹。

复制 SQL Server Compact DLL 文件

若是您的应用程序使用了 SQL Server Compact 数据库(App_Data 文件夹中的 .sdf 文件),那么您必须复制 SQL Server Compact DLL 文件:

从您的文件夹复制如下全部文件:

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private

到远程服务器上的 bin 文件夹。

建立或编辑应用程序中的 Web.config 文件:

复制 SQL Server Compact 数据

您的 App_Data 文件夹中有没有包含测试数据的 .sdf 文件?

您是否但愿将测试数据发布到远程服务器?

大多数时候是不但愿。

若是您不得不复制 SQL 数据文件(sdf 文件),那么您应该删除数据库中的全部数据,而后把这个空的 .sdf 文件从开发机复制到服务器。

相关文章
相关标签/搜索