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. Appium+Python3+iOS真机环境搭建

    Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用. 本次环境配置相关:macOS:10.13.4Appium-desktop:1. ...

  2. UDP广播 与 TCP客户端 --服务端

    随着倒计时的响声,自觉无心工作,只想为祖国庆生. 最近有遇到过这样一个问题,将摄像头识别的行人,车辆实时显示在客户端中.有提供接口,会以Json的数据的形式将实时将识别的对象进行Post提交.所以我们 ...

  3. MQ知识点汇总

    1. MQ是什么 2. MQ能做什么 3. 消息模式 4. 使用MQ的时候需要注意什么 5. 常用MQ 6. MQ的不足 7. 什么时候不适用MQ 8. MQ的组成 9. MQ的关注点 1. MQ是什 ...

  4. .net 中写 psql 匿名函数、过程语言

    DO --关键字 $serch$ --$中间随便写, 不能用特殊符号和数字好像$ DECLARE times integer; --定义变量 rec history_depart%ROWTYPE; - ...

  5. Linux 开放端口号(mysql开启远程连接)

    在 Centos 7 或 RHEL 7 或 Fedora 中防火墙由 firewalld 来管理,而不是 iptables. 一.firewalld 防火墙语法命令如下:启用区域端口和协议组合 fir ...

  6. LeetCode Weekly Contest 117

    已经正式在实习了,好久都没有刷题了(应该有半年了吧),感觉还是不能把思维锻炼落下,所以决定每周末刷一次LeetCode. 这是第一周(菜的真实,只做了两题,还有半小时不想看了,冷~). 第一题: 96 ...

  7. 有些人表面风光,背地里for循环怎么写都要百度

    代码地址 https://github.com/ljshLLW/homework 题目 最大连续子数组和(最大子段和) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n], ...

  8. Linux命令-cut篇

    Cut 命令是常用的 Linux 命令,在这里总结一下平时常用的参数和用法,方便查证. 常用参数: -b:以字节为单位进行分割: -c:以字符为单位进行分割: -d:自定义分割符进行分割,默认为制表符 ...

  9. Android系统分析之运营商显示流程分析之运营商信息的读取流程二

    运营商显示流程分析之运营商信息的读取流程 一. SIM卡运营商信息的读取 从前面的 运营商信息的获取和赋值 可以知道SIM卡运营商的赋值最终是在 SIMRecords 中完成的, 而SIM卡信息的相关 ...

  10. 实现点击页面其他地方,隐藏div(原生和VUE)

    1原生方法 // html <div id="box" style="width:110px;height:110px;background-color:red&q ...