ASP.NET MVC - 学习笔记

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

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

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

MVC 编程模型

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

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

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

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

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

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

模型(Model)

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

通常模型对象在数据库中存取数据。

View(视图)

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

通常从模型数据中创建视图。

控制器

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

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

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

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

1.ASP.NET MVC - Internet 应用程序

我们将构建一个 Internet 应用程序,它支持添加、编辑、删除以及列出数据库中的信息。

2.ASP.NET MVC - 应用程序文件夹

2.1MVC 文件夹

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

应用程序信息

  • Properties
  • 引用

应用程序文件夹

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

配置文件

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

3.ASP.NET MVC - 样式和布局

3.1添加布局

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

3.2添加样式

应用程序的样式表是 Site.css。它位于 Content 文件夹中。

3.3_ViewStart 文件

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

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

4.ASP.NET MVC - 控制器

4.1Controllers 文件夹

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

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

4.2Home 控制器

我们应用程序中的控制器文件 HomeController.cs,定义了两个控件 Index 和 About

4.3Controller 视图

Views 文件夹中的文件 Index.cshtml 和 About.cshtml 定义了控制器中的 ActionResult 视图 Index() 和 About()。

5.ASP.NET MVC - 视图

5.1Views 文件夹

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

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

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

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

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

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

5.2ASP.NET 文件类型

纯 HTML.htm or .html
经典 ASP.asp
经典 ASP.NET.aspx
ASP.NET Razor C#.cshtml
ASP.NET Razor VB.vbhtml

5.3Index 文件

文件 Index.cshtml 表示应用程序的首页。它是应用程序的默认文件(首页文件)。

5.4About 文件

文件 About.cshtml 表示应用程序的关于页面。

6.ASP.NET MVC - SQL 数据库

6.1创建数据库

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

本教程所需的这个数据库能够通过以下几个简单的步骤来创建:

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

6.2添加数据库表

双击 App_Data 文件夹中的 Movies.sdf 将打开 Database Explorer window。

如需在这个数据库中创建新表,请右键点击 Tables 文件夹,然后选择创建表

类型允许 Nulls
IDint (primary key)No
Titlenvarchar(100)No
Directornvarchar(100)No
DatedatetimeNo

对列的解释:

ID 是用于识别表中每条记录的整数。

Title 是 100 个字符长度的文本列,用于存储影片的名称。

Director 是 100 个字符长度的文本列,用于存储导演的名字。

Date 是日期列,用于存储影片的发行日期。

在建好上述列之后,您必须把 ID 列设置为表的主键(记录识别符)。要做到这一点,请在列名(ID)上点击并在 Column Properties window 中选择 Primary Key,把 Identity 属性设置为 True

当您完成创建表列后,请保存表并命名为 MovieDBs

6.3添加数据库记录

您可以使用 Visual Web Developer 向 movie 数据库添加一些测试记录。

在 App_Data 文件夹中双击 Movies.sdf 文件。

右键点击 Database Explorer window 中的 MovieDBs 表,并选择 Show Table Data。

添加记录:

IDTitleDirectorDate
1PsychoAlfred Hitchcock01.01.1960
2La Dolce VitaFederico Fellini01.01.1960

7.ASP.NET MVC - 模型

7.1MVC 模型

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

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

7.2Models 文件夹

Models 文件夹包含表示应用程序模型的类。

7.3添加数据库模型

所需的数据库模型能够通过以下几个简单的步骤来创建:

解决方案管理器中,右键点击 Models 文件夹,选择添加

对类 MovieDB.cs 进行命名,然后点击添加

7.4添加数据库控制器

本教程所需的数据库控制器能够通过以下几个简单的步骤来创建:

  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 文件夹

7.5添加数据库视图

以下文件会被自动地在 Movies 文件夹中创建:

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

8.ASP.NET MVC - 安全

MVC 应用程序安全性

Models 文件夹包含表示应用程序模型的类。

Visual Web Developer 自动创建 AccountModels.cs 文件,该文件包含用于应用程序认证的模型。

AccountModels 包含 LogOnModelChangePasswordModel 以及 RegisterModel

9.ASP.NET MVC - HTML 帮助器

HTML 帮助器

通过 MVC,HTML 帮助器类似于传统的 ASP.NET Web Form 控件。

类似 ASP.NET 中的 web form 控件,HTML 帮助器用于修改 HTML。但是 HTML 帮助器更轻。与 web form 控件不同,HTML 帮助器没有事件模型和 view state。

在大多数情况下,HTML 帮助器仅仅是返回字符串的方法。

10.ASP.NET MVC - 发布网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值