ASP.NET MVC 簡單介紹①
ASP.NET MVC 簡單介紹①
只做了重要描述,內容出自菜鳥教程網站內容。
目錄
在不使用 Visual Web Developer 的情況下發布您的應用程式
4. 複製 SQL Server Compact DLL 檔案
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 檔案到伺服器上。