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 文件到服务器上。

ASP.NET MVC 简单介绍①的更多相关文章

  1. ASP.NET MVC 简单事务添加

    ASP.NET MVC 简单事务 //实例化查询上下文 using ( BookStoreEntities db = new BookStoreEntities()) { //找到需要价格和名称的数据 ...

  2. ASP.NET MVC 简单分页代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  3. Asp.net MVC 简单分页 自做简单分页

    Asp.net MVC 简单分页:   public static string Pager(int page,int pageSize,int total)         {           ...

  4. Asp.Net MVC学习总结(一)——Asp.Net MVC简单入门

    一.MVC简单入门 1.1.MVC概念 视图(View) 代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML.XML和Applet. 模型(Model) 表示用户对其数 ...

  5. asp.net mvc 简单项目框架的搭建过程(一)对Bll层和Dal层进行充分解耦

    学习asp.net 已经有近三个月的时间了,在asp.net mvc上花的时间最多,但个人真是有些菜,不得不说,asp.net mvc的水真的还是蛮深的.目前在公司实习,也见过公司几个项目的代码了.对 ...

  6. ASP.NET MVC简单编程之(二)经典路由篇

    话题:请求从路由开始 在实际的ASP.NET MVC开发中,URL访问规则----路由的定义是非常重要的.因为任何一个请求都离不开路由.理解它,我们将能理解MVC处理请求的整个过程,灵活地定义系统各种 ...

  7. asp.net mvc简单实现基于Razor的分页控件

    最近在写一些web应用了解了一下asp.net mvc发现的确好用,所以直接就干上了.不过在使用asp.net mvc的Razor模板的情况并不向传统webform那样可以使用控件.但从Razor的功 ...

  8. .NET CORE学习笔记系列(1)——ASP.NET MVC Core 介绍和项目解读

    ASP.NET MVC Core 项目文件夹解读 一.项目文件夹总览 1.1.Properties——launchSettings.json 启动配置文件,你可以在项目中“Properties”文件夹 ...

  9. ASP.NET MVC 简单的分页思想与实现

    首先我们通过VS创建一个空的基于Razor视图引擎的ASP.NET MVC3 Web应用程序,命名为JohnConnor.Web 对创建过程或Razor不太了解的看官,请移步 ASP.NET MVC ...

随机推荐

  1. 【数据结构】算法 LinkList (Merge Two Sorted Lists)

    合并2个有序链表 list A, list B, Solution: 对A,B 表按序读取数据,比较大小后插入新链表C. 由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接 ...

  2. Linux CAN Shell 测试脚本程序

    2012-01-13 22:57:14 为我的开发板2440做二次开发,添加了can驱动,做了驱动测试程序,没理由不添加一个测试脚本程序啊!修改了测试程序,使应用程序更加灵活,添加了一下传递参数.接着 ...

  3. centos安装mariadb

    一  配置mariadb官方的yum源 1.进入yum仓库 /etc/yum.repos.d/目录下 手动创建一个 mariadb.repo 写入如下内容 [mariadb] name = Maria ...

  4. java 实现hex文件转换bin保存至内存中

    hex 文件的格式,以文件中某一行字符串(16进制)为例: :10 0830 00 020C5D0224B3FFFFFFFFFFFFFFFFFFFF 7E 10,长度,转换成10进制,也就是16B 大 ...

  5. maven的两种打包插件 ,防止 将无用文件打入META_INF,找不到主类的问题

    第三种 打依赖包 将依赖其他jar的包都打进去 <plugin> <artifactId>maven-assembly-plugin</artifactId> &l ...

  6. SpringBoot 项目打包分开lib,配置和资源文件

    原文地址:https://blog.csdn.net/u012811805/article/details/80878848 1 jar启动分离依赖lib和配置 先前发布boot项目的时候,改动一点东 ...

  7. mask rcnn input数据理解

    Array.min() #无参,所有中的最小值 Array.min(0) # axis=0; 每列的最小值 Array.min(1) # axis=1:每行的最小值 字符串在输出时的对齐: S.lju ...

  8. java集合的三种遍历方式

    import java.util.ArrayList;  import java.util.Collection;import java.util.Iterator;public class Home ...

  9. PWM_MOTOR_B

    port_cfg.h witti: #define PORT_CONFIG_PIN_E0_USAGE                        PORT_CONFIG_GPIO_OUT magna ...

  10. 快速安装 Laravel 5.7

    $ git clone https://github.com/laravel/laravel.git $ cd laravel $ cp .env.example .env $ composer in ...