學習ASP.NET Core Razor 編程系列一

一. 概述

      .NET Core 1.0發佈的時候就想進行學習的,不過根據微軟的以往的發佈規律1.0版能夠認爲是大衆測試版,2.0纔算穩定。如今2.1都已經發布了預覽版,以前對其"不穩定"的顧慮也打消的差很少了,決定學習一下。html

      ASP.NET Core 具備以下優勢:編程

  • 生成 Web UI 和 Web API 的統一場景。
  • 集成新式客戶端框架和開發工做流。
  • 基於環境的雲就緒配置系統。
  • 內置依賴項注入。
  • 輕型的高性能模塊化 HTTP 請求管道。
  • 可以在 IIS、Nginx、Apache、Docker 上進行託管或在本身的進程中進行自託管。
  • 定目標到 .NET Core 時,可使用並行應用版本控制。
  • 簡化新式 Web 開發的工具。
  • 兼容性.NET Core 經過 .NET 標準與 .NET Framework、Xamarin 和 Mono 兼容。
  • 可以在 Windows、macOS 和 Linux 進行生成和運行。
  • 開放源代碼和以社區爲中心。

       如何跨平臺?

       我先上一張圖,而後咱們再來看一下官方對.NET CORE 的介紹。json

       

      .NET Framework自己是個"跨Windows"的平臺, 而在這個基礎上, 又支持C#和VB等語言進行 "跨語言", 瀏覽器

      .NET Core 是一個通用開發平臺,由 Microsoft 和 GitHub 上的 .NET 社區共同維護。 它是跨平臺的,支持 Windows、macOS 和 Linux,而且可用於設備、雲和嵌入式/IoT 方案。安全

     .NET Core 包括如下部分:服務器

    .NET 運行時:提供類型系統、程序集加載、垃圾回收器、本機互操做和其餘基本服務。app

    一組 框架庫:提供基元數據類型、應用編寫類型和基本實用程序。框架

    一組 SDK 工具和語言編譯器:提供基本的開發人員體驗,可用於 .NET Core SDK。模塊化

    「dotnet」應用主機,用於啓動 .NET Core 應用。 它選擇運行時並託管運行時,提供程序集加載策略來啓動應用。 同一主機還可用於以大體相同的方式.NET Core 主要以兩種方式發行,以包方式在 NuGet.org 上發行,以及以獨立方式發行。以包方式在 NuGet.org 上發行, 使應用更加靈活、模塊化的同時提升性能.工具

       .NET API 和兼容性

       可將 .NET Core 看做是 .NET Framework 在 .NET Framework 基類庫 (BCL) 的跨平臺版本。 它實施 .NET 標準規範。 .NET Core 提供了一個可用於 .NET Framework 或 Mono/Xamarin 的 API 子集。 在某些狀況下,類型未徹底實現(某些成員不可用或已移動)。

       與 .NET Standard 的關係

       .NET 標準是一種 API 規範,用於描述開發者能夠在每一個 .NET 實現代碼中使用的一組一致 .NET API。 .NET 實現須要實現此規範才能被視爲符合 .NET Standard ,而且才能支持面向 .NET Standard 的庫。

        與 .NET Framework 比較

        .NET 由 Microsoft 於 2000 年首次發佈,然後發展至今。 15 年多以來,.NET Framework 一直是 Microsoft 出品的主要 .NET 實現。

       .NET Core 和 .NET Framework 的主要差別在於:

       應用模型 -- .NET Core 不支持全部 .NET Framework 應用模型,某種程序上是由於其中許多模型都是基於 Windows 技術,如 WPF(基於 DirectX 生成)。 但 .NET Core 和 .NET Framework 二者都支持控制檯和 ASP.NET Core 應用模型。

       API -- .NET Core 包含不少與 .NET Framework 相同,但數量較少的 API,而且具備不一樣的組成要素(程序集名稱不一樣;關鍵用例中的類型形狀不一樣)。 目前,這些差別一般都須要更改,以將源移植到 .NET Core。 .NET Core 實現 .NET 標準 API,隨着時間的推移,將包含更多 .NET Framework BCL API。

       子系統 -- .NET Core 實現 .NET Framework 中子系統的子級,目的是實現更簡單的實現和編程模型。 例如,不支持代碼訪問安全性 (CAS),但支持反射。

       平臺 -- .NET Framework 支持 Windows 和 Windows Server,而 NET Core 還支持 macOS 和 Linux。

       開放源 -- .NET Core 屬於開放源,而 .NET Framework 的只讀子集屬於開放源。

      雖然 .NET Core 是惟一的且與 .NET Framework 和其餘 .NET 實現大不相同,但使用源或二進制共享技術分享代碼仍很簡單。

 

2、開始學習第一個ASP.NET Core應用程序

       本教程學習如何建立基於ASP.NET Core Razor頁面的Web應用程序。

       第一,請先安裝如下軟件

  • .NET Core SDK 2.0版本或更高版本
  • Visual Studio 2017版本15.3 或更高版本,而且包含 ASP.NET Web開發功能模塊

      第二,建立一個Razor Web應用程序

  1. 在Visual Studio 2017中選擇菜單-->文件-->新建-->項目。以下圖。

       

        2.  在彈出的「新建項目」的對話框中作以下選擇。

  • 在左邊的列表中,選擇 .NET Core ,以下圖中1處
  • 在中間的列表中,選擇 ASP.NET Core Web應用程序,以下圖中2處。
  • 在名稱文本框中輸入「RazorMvcBooks」 ,以下圖中3處。
  • 在下圖中4處,點擊「肯定」按鈕,建立Web應用程序

      

      3.在彈出的「新建ASP.NET Core Web 應用程序-RazorMvcBooks」的對話框中作以下選擇:

  • 在下圖1處,從下拉框中選擇「Net Core」與「Asp.NET Core 2.0」
  • 在下圖2處,選擇Web應用程序
  • 鼠標點擊肯定按鈕,以下圖3處。

 

         使用ASP.NET Core的.NET框架,你必須首先選擇在第一個下拉框中選擇框架,而後在第二下下拉框中選擇ASP.NET Core的版本。如上圖1處。

       

          4. Visual Studio  2017使用默認模板建立了一個ASP.NET  Core MVC Razor頁面項目。咱們剛纔經過輸入一個項目名稱並選擇了幾個選項,建立了一個Web應用程序。這是一個簡單的入門項目,項目結構以下圖。

        

           5.按F5在調撥模式下運行這個應用程序或者按Ctrl+F5在不調試模式下運行這個應用程序。

 

  • Visual Studio 2017 將啓動IIS Express並運行RazorMvcBooks應用程序。注意,地址欄顯示「localhost:端口」而不是域名(如www.cnblogs.com)。這是由於localhost是本地計算機的標準主機名。當Visual Studio 2017建立Web項目時,Web服務器使用隨機端口。在上面的圖片中,端口號是53416。瀏覽器中的URL顯示「http://localhost: 53416/」。你運行應用程序時,可能會看到一個不一樣的端口號。

         

          6.若是使用Ctrl + F5(非調試模式)啓用應用程序,在這個模式下容許您進行代碼更改,在保存文件以後,刷新瀏覽器,不須要從新啓動應用程序就能夠查看代碼更改以後的結果。許多開發人員喜歡使用非調試模式來快速啓動應用程序並查看更改。見下圖。圖中1 處是啓動時的在頁面中要顯示的內容。我在程序代碼中進行了修改。如圖2處。在瀏覽器中按F5,進行刷新以後,頁面顯示就如圖3處所示。

       

          7. 使用默認模板建立的RazorMvcBooks項目,有Home,About和Contact三個頁面。根據瀏覽器窗口的大小,您可能須要單擊菜單圖標來顯示相關菜單連接。以下圖。

        

          8.測試連接。在RazorMVCBooks的頁面能夠點擊About連接。以下圖。所示。

         第3、項目文件與文件夾

          下表列出了項目中的文件和文件夾。以下圖。在本教程中,將startup.cs文件理解是最重要。

 

文件或文件夾

做用

wwwroot

存放靜態文件的文件夾,些文件包括網站使用的CSS樣式表、圖像和 JavaScript 文件

Pages

這個文件夾中主要放是Razor頁面文件。以 .cshtml 結尾的文件是 Razor 文件,以 .cs 結尾的文件是C#類文件

appsettings.json

基於 json 格式的文件,用於應用程序範圍的配置設置

Program.cs

ASP.NET Core 應用程序的入口點

Startup.cs

配置服務和請求管道, 用於處理全部對應用程序請求。

             第4、Page文件夾中的文件說明

            _layout.cshtml文件中包含通用的HTML元素(腳本和樣式表)和應用程序的整體佈局。例如,當你點擊RazorMvcBooks,Home,About的連接時,你會看到一樣的頁眉與頁腳佈局。

           _viewstart.cshtml文件看成_layout.cshtml文件的佈局屬性來使用。

          _viewimports.cshtml包含導入到每一個Razor頁面的Razor指令。

           _validationscriptspartial.cshtml文件提供對jQuery驗證腳本的引用。當咱們添加建立和編輯網頁時,_validationscriptspartial.cshtml文件將被使用。

           About.cshtml、Contact.cshtml和Index.cshtml是用來啓動應用程序的基本頁面。

           Error.cshtml用於顯示錯誤信息。

相關文章
相關標籤/搜索