ASP.NET MVC 简单介绍①

时间:2023-01-03 17:59:56

ASP.NET  MVC 简单介绍①

只做了重要描述,内容出自菜鸟教程网站内容。

目录

1布局

2HTML 帮助器

3.Razor 语法

4.添加样式

5.Layout

6. Controllers

7.ASP.NET MVC - 视图

Views 文件夹

ASP.NET 文件类型

Index 文件

ASP.NET MVC - SQL 数据库

创建数据库

添加数据库表

添加数据库记录

添加连接字符串

ASP.NET MVC - 模型

MVC 模型

Models 文件夹

添加数据库模型

添加数据库控制器

添加数据库视图

ASP.NET MVC - HTML 帮助器

HTML 帮助器

标准的 HTML 帮助器

HTML 链接

HTML 表单元素

ASP.NET MVC - 发布网站

在不使用 Visual Web Developer 的情况下发布您的应用程序

1. 使用最新版本的 ASP.NET

2. 复制 Web 文件夹

3. 复制 DLL 文件

4. 复制 SQL Server Compact DLL 文件

实例 C#

5. 复制 SQL Server Compact 数据


1布局

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

2HTML 帮助器

HTML 帮助器用于修改 HTML 输出:

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

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

3.Razor 语法

红色标记的代码是使用 Razor 标记的 C#。Razor 使用了与 PHP 和经典 ASP 相似的语法。

ASP.NET 帮助器是通过几行简单的 Razor 代码即可访问的组件。

您可以使用 Razor 语法构建自己的帮助器,或者使用内建的 ASP.NET 帮助器。

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

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

4.添加样式

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

5.Layout

位于 Views 文件夹内中的 _ViewStart 文件

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

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

如果您删除了这个文件,则必须向所有视图中添加这行代码。

6. Controllers

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

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

在默认的实例中, HomeController.cs(用于 Home 页面和 About 页面)

Web 服务器通常会将进入的 URL 请求直接映射到服务器上的磁盘文件。例如:URL 请求 "http://www.w3cschool.cc/index.php" 将直接映射到服务器根目录上的文件 "index.php"。

MVC 框架的映射方式有所不同。

MVC 将 URL 映射到方法。这些方法在类中被称为"控制器"。

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

Home 控制器

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

7.ASP.NET MVC - 视图

Views 文件夹

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

在 Views 文件夹中,一个 Home 文件夹、一个 Shared 文件夹。

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

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

ASP.NET 文件类型

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

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

Index 文件

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

在文件中写入以下内容:

@{ViewBag.Title = "Home Page";}

<h1>Welcome to runoob.com</h1>

<p>Put Home Page content here</p>

ASP.NET MVC - SQL 数据库

创建数据库

数据库可以通过以下几个简单的步骤来创建:

  • 右击 Solution Explorer 窗口中的 App_Data 文件夹
  • 选择 Add, New Item
  • 选择 SQL Server Compact Local Database *
  • 将数据库命名为 **.sdf
  • 点击 Add 按钮

添加数据库表

添加数据库记录

双击 App_Data 文件夹中的 **.sdf 文件。

** Table Data

添加一些记录:

添加连接字符串

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

<add name="**"

connectionString="Data Source=|DataDirectory|Movies.sdf"

providerName="System.Data.SqlServerCe.4.0"/>

ASP.NET MVC - 模型

添加数据模型。

MVC 模型

MVC 模型包含了  * ——*【除纯视图 (view)和控制器逻辑(controller)以外】 *——* 的其他所有应用程序逻辑(业务逻辑、验证逻辑、数据访问逻辑)。

通过 MVC,模型可以控制并操作应用程序数据。

Models 文件夹

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

添加数据库模型

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

  • 在 Solution Explorer窗口中,右击 Models 文件夹,并选择 Add 和 Class
  • 将类命名为 数据库名.cs,然后点击 Add
  • 编辑这个类:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Data.Entity;

namespace MvcDemo.Models

{

public class 数据库名

{

public int ID { get; set; }

public string Title { get; set; }

public string Director { get; set; }

public DateTime Date { get; set; }

}

}

添加数据库控制器

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

  • 重建您的项目。
  • 在 Solution Explorer(解决方案资源管理器)中,右击 Controllers 文件夹,选择 Add 和 Controller
  • 设置控制器名称为 **Controller
  • 选择模板:Controller with read/write actions and views, using Entity Framework
  • 选择模型类:MovieDB (MvcDemo.Models)
  • 选择 data context 类:MovieDBContext (MvcDemo.Models)
  • 选择视图 Razor (CSHTML)
  • 点击 Add

Visual Web Developer 将创建以下文件:

  • Controllers 文件夹中的 **Controller.cs 文件
  • Views 文件夹中的 **文件夹

添加数据库视图

在 view 文件夹下面**文件夹中,会自动创建以下文件:

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

ASP.NET MVC - HTML 帮助器


HTML 帮助器用于修改 HTML 输出。

HTML 帮助器

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

就像 ASP.NET 中的 Web Form 控件,HTML 帮助器用于修改 HTML。但是 HTML 帮助器是更轻量级的。与 Web Form 控件不同,HTML 帮助器没有事件模型和视图状态。

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

通过 MVC,②您可以创建您自己的帮助器,或者直接使用内建的 HTML 帮助器。

标准的 HTML 帮助器

MVC 包含了大多数常用的 HTML 元素类型的标准帮助器,比如 HTML 链接和 HTML 表单元素。

HTML 链接

链接帮助器:HTML.ActionLink() 帮助器 是呈现 HTML 链接的最简单的方法。

通过 MVC,Html.ActionLink() 不连接到视图---而是->它创建一个连接到【控制器】操作。

链接帮助器 ->像调用方法【方法】  第一个参数是链接文本,第二个参数是控制器 操作的名称;

Razor 语法:

@Html.ActionLink("About this Website", "About");

ASP 语法:

<%=Html.ActionLink("About this Website", "About")%>

第一个参数是链接文本,第二个参数是控制器操作的名称。

上面的 Html.ActionLink() 帮助器,输出以下的 HTML:

<a href="/Home/About">About this Website</a>

Html.ActionLink() 帮助器的一些属性:

属性 描述
.linkText URL 文本(标签),定位点元素的内部文本。
.actionName 操作(action)的名称。
.routeValues 传递给操作(action)的值,是一个包含路由参数的对象。
.controllerName 控制器的名称。
.htmlAttributes URL 的属性设置,是一个包含要为该元素设置的 HTML 特性的对象。
.protocol URL 协议,如 "http" 或 "https"。
.hostname URL 的主机名。
.fragment URL 片段名称(定位点名称)。

注释:您可以向控制器操作传递值。例如,您可以向数据库 Edit 操作传递数据库记录的 id:

Razor 语法 C#:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

Razor 语法 VB:

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

上面的 Html.ActionLink() 帮助器,输出以下的 HTML:

<a href="/Home/Edit/3">Edit Record</a>

HTML 表单元素

以下 HTML 帮助器可用于呈现(修改和输出)HTML 表单元素:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

ASP.NET MVC - 发布网站


在不使用 Visual Web Developer 的情况下发布您的应用程序

通过在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用发布命令,可以发布一个 ASP.NET MVC 应用程序到远程服务器上。

1. 使用最新版本的 ASP.NET

在您继续操作之前,请确保您的主机运行的是最新版的 ASP.NET(4.0 或者 4.5)。


2. 复制 Web 文件夹

从您的开发计算机上复制您的网站(所有文件夹和内容)到远程主机(服务器)上的应用程序文件夹中。

如果您的 App_Data 文件夹中包含测试数据,请不要复制这个 App_Data 文件夹(详见下面的第 5 点)。


3. 复制 DLL 文件

在远程服务器上的应用程序根目录中创建 bin 文件夹。(如果您已经安装 Helpers,则 bin 文件夹已经存在)

复制下列文件夹中的所有文件:

C:Program Files (x86)Microsoft ASP.NETASP.NET Web Pagesv1.0Assemblies

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

到您的远程服务器上的应用程序的 bin 文件夹中。


4. 复制 SQL Server Compact DLL 文件

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

复制下列文件夹中的所有文件:

C:Program Files (x86)Microsoft SQL Server Compact Editionv4.0Private

到您的远程服务器上的应用程序的 bin 文件夹中。

创建(或者编辑)应用程序的 Web.config 文件:

实例 C#

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.data>

<DbProviderFactories>

<remove invariant="System.Data.SqlServerCe.4.0" />

<add invariant="System.Data.SqlServerCe.4.0"

name="Microsoft SQL Server Compact 4.0"

description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

</DbProviderFactories>

</system.data>

</configuration>


5. 复制 SQL Server Compact 数据

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

您是否希望发布您的测试数据到远程服务器上?

大多数时候一般是不希望。

如果您一定要复制 SQL 数据文件(.sdf 文件),那么您应该删除数据库中的所有数据,然后从您的开发计算机上复制一个空的 .sdf 文件到服务器上。