1. 程式人生 > >ASP.NET MVC 簡單介紹①

ASP.NET MVC 簡單介紹①

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 檔案到伺服器上。