1. 程式人生 > >【無私分享:ASP.NET CORE 專案實戰(第九章)】建立區域Areas,新增TagHelper

【無私分享:ASP.NET CORE 專案實戰(第九章)】建立區域Areas,新增TagHelper

目錄索引

簡介

  在Asp.net Core VS2015中,我們發現還有很多不太簡便的地方,比如右擊新增檢視,轉到試圖頁等功能圖不見了,雖然我們可以通過工具欄的自定義命令,把這兩個右擊選單新增上,但是貌似是灰色的不能用。

  其實,這樣也好,通過手動建立,更讓我們深刻的理解MVC以及路由之間的關係,很多人認為底層的東西是高大上的,比如一提到彙編,很多人感覺牛的不行不行的,其實術業有專攻,做程式的感覺搞核電的很牛,搞核電的同樣也感覺做程式的很牛,但是通過手動的建立MVC以及路由,除了讓我們深刻的理解MVC之外,也在一定程度上滿足了有這種想法的朋友。

新增配置區域

  我們在之前的版本中中新增區域,通常是直接右擊 → 新增區域,在建立的區域目錄中,自帶區域的路由配置。如下:

  

   

這其實是十分方便的,但是在VS2015 中,新增選項裡沒有了區域這個選項,我們只能通過手動的方式來建立區域:

① 新增區域資料夾 Areas 並在區域檔案下 新增資料夾 SysManage

② 在SysManage下新建兩個資料夾 Controllers(控制器) Views(檢視)

 

③ 新增一個控制器 AccountController 

 

注意:AreaAttribute 名稱要和資料夾名稱一致

  ④ 

我們在 Views 資料夾下,新建一個資料夾 Account (與控制器名稱一致),然後新增檢視 Index.cshtml

  

  ⑤ 在Startup.cs 下,新增區域路由配置 routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action=Index}/{id?}");

  

  這樣,我們區域就新增完了,我們來測試一下:

  

新增TagHelper

修改在之前的版本中,對於 _ViewStart.cshtml 大家都很熟悉,就是一個在呈現View檔案的時候的啟動檔案,會在所有View(.cshtml)被執行之前執行,比如設定Layout = "~/Views/Shared/_Layout.cshtml";這樣的語句,只需在_Viewstart.cshtml寫一遍就可以了。

 在這個版本中,新增了一個_ViewImports.cshtml檔案,這個檔案的主要作用就是提供名稱空間可用於所有其他檢視。在以前的MVC專案,這個功能是通過在檢視資料夾中的web.config檔案提供;由於Web.config不再存在,全域性名稱空間是由_ViewImports.cshtml提供。

我們先不管這個檔案,我們來新增一個TagHelper 標籤:

  我們發現,TagHelper 貌似不行,我們可以通過瀏覽器測試一下,其實在VS2015中,如果可以,這裡應該是加粗的,我們看下系統自帶的樣例中TagHelper:

  

  這是為什麼呢?是因為我們沒有新增 TagHelper的引用我們新增一下引用 @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

  

  我們再看下我們剛才建立的兩個TagHelper標籤:

  

   我們發現TagHelper已經起作用了,我們剛才講過 _ViewImports.cshtml 是一個提供全域性名稱空間的檔案,那麼我們沒有必要每個檢視檔案都新增一條這個引用吧,我們新增一個全域性的引用,讓每個試圖頁都引用TagHelper就好了

  我們在 Areas Views 資料夾下新增一個  _ViewImports.cshtml  :

  

  並且新增TagHelper引用:

  

  我們刪掉Account\Index.cshtml 的 TagHelper 引用,我們看下:

   

  同樣的,我們也可以在 _ViewImports.cshtml 新增一些模型的名稱空間的引用:

  

  

希望跟大家一起學習Asp.net Core 

剛開始接觸,水平有限,很多東西都是自己的理解和翻閱網上大神的資料,如果有不對的地方和不理解的地方,希望大家指正!

雖然Asp.net Core 現在很火熱,但是網上的很多資料都是前篇一律的複製,所以有很多問題我也暫時沒有解決,希望大家能共同幫助一下!

---恢復內容結束---

相關推薦

無私分享ASP.NET CORE 專案實戰建立區域Areas新增TagHelper

目錄索引 簡介   在Asp.net Core VS2015中,我們發現還有很多不太簡便的地方,比如右擊新增檢視,轉到試圖頁等功能圖不見了,雖然我們可以通過工具欄的自定義命令,把這兩個右擊選單新增上,但是貌似是灰色的不能用。   其實,這樣也好,通過手動建立,更讓我們深刻的理解M

無私分享ASP.NET CORE 專案實戰釋出專案到 Linux 上執行 Core 專案

目錄索引 簡介   ASP.Net Core 給我們帶來的最大的亮點就是跨平臺,我在我電腦(win7)上用虛擬機器建了個 CentOS7 ,來演示下,我們windows上的專案如何釋出專案到Linux上執行。我這裡有個在windows上搭建過的程式,我們主要演示如何在linux上執

無私分享ASP.NET CORE 專案實戰讀取配置檔案 appsettings.json

目錄索引 簡介   在我們之前的Asp.net mvc 開發中,一提到配置檔案,我們不由的想到 web.config 和 app.config,在 core 中,我們看到了很多的變化,新的配置系統顯得更加輕量級,具有更好的擴充套件性,並且支援多樣化的資料來源。   部落格園對於這個的

無私分享ASP.NET CORE 專案實戰讀取配置檔案 讀取自定義配置檔案

目錄索引 簡介   但隨之產生了問題:我們使用的是在 Startup.cs 中(如下圖)來實現配置讀取,有兩個問題 ① 我們如果定義N種配置,是否要再這裡新增N條這樣的配置 ; ② 如果我們的配置不想寫在appsettings.json中呢     解決問題

無私分享ASP.NET CORE 專案實戰十三Asp.net Core 使用MyCat分散式資料庫實現讀寫分離

目錄索引 簡介   MyCat2.0版本很快就釋出了,關於MyCat的動態和一些問題,大家可以加一下MyCat的官方QQ群:106088787。我們今天主要介紹一下,在我們的Asp.net Core中如何使用Mycat,這源於一個大神(Amamiya Yuuko)的分享,但是,這中

無私分享ASP.NET CORE 專案實戰Code First 建立資料庫和資料表

目錄索引 簡介   本章我們來介紹下Asp.net Core 使用 CodeFirst 建立資料庫和表,通過 控制檯 和 dotnet ef 兩種方式 修改EF上下文物件,新增測試類   我修改了一下名字,Domains 改為了 wkmvc.Data   我們新建一個

無私分享ASP.NET CORE 專案實戰檔案操作 FileHelper

目錄索引 簡介   在程式設計中,我們很多情況下,會用到對檔案的操作,在 上一個系列 中,我們有很多檔案基本操作的示例,在Core中有一些改變,主要是我們常用的Server.MapPath()不存在了,不知道後續的版本會不會有,在這裡,我們只能自己封裝方法去實現。今天,我們就對一些基本

無私分享ASP.NET CORE 專案實戰Repository倉儲 UnitofWork

1 public abstract class Repository<T> : IRepository<T> where T : class 2 { 3 #region 資料上下文 4 5 /// <s

無私分享ASP.NET CORE 專案實戰EntityFramework下領域驅動設計的應用

這好像就是比我的多了一個“中轉層”,把我們的介面作為了一箇中轉,領域層繼承了倉儲實現業務和資料操作,這有什麼實際意義嗎?希望大家指正一下: 我不理解的是,如果是按照這樣,那麼我如果要修改註冊方法,比如我要在上面方法中傳遞 eamil,name,password 的基礎上還需要傳遞手機號碼,那麼我需要修改

無私分享ASP.NET CORE 專案實戰十一Asp.net Core 快取 MemoryCache 和 Redis

1 /// <summary> 2 /// 修改快取 3 /// </summary> 4 /// <param name="key">快取Key</param> 5 ///

無私分享ASP.NET CORE 專案實戰十二新增對SqlServer、MySql、Oracle的支援

目錄索引 簡介   增加對多資料庫的支援,並不是意味著同時對多種資料庫操作,當然,後面,我們會嘗試同時對多種資料庫操作,這可能需要多個上下文,暫且不論。分散式資料庫,我們採用的是阿里雲的Mycat,這個後面會更新出來。我們今天的場景是:我們的專案可能是在windows上開發的使用的

無私分享ASP.NET CORE 專案實戰十四圖形驗證碼的實現

1 public class VierificationCodeServices 2 { 3 /// <summary> 4 /// 該方法用於生成指定位數的隨機數 5 /// </summary> 6

無私分享ASP.NET CORE 專案實戰第二新增EF上下文物件新增介面、實現類以及無處不在的依賴注入DI

目錄索引 簡介   上一章,我們介紹了安裝和新建控制器、檢視,這一章我們來建立個數據模型,並且新增介面和實現類。 新增EF上下文物件   按照我們以前的習慣,我們還是新建幾個資料夾   Commons:存放幫助類   Domians:資料模型   Services

ASP.NET Core 專案實戰持續更新~~~

 一、前言   準備寫這個系列文章的設想開始於今年9月,毫無意外,期間又又又又拖了很長時間,文章主要是為了記錄自己學習使用 ASP.NET Core Web API 與 Vue 建立一個前後端分離的專案的整個過程。嗯,2018年快要結束了,應該能在 .NET Core 3.0 正式版和 Vue 3

ASP.NET Core中使用GraphQL - 在GraphQL中處理多對多關係

ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中介軟體 ASP.NET Core中使用GraphQL - 第三章 依賴注入 ASP.NET Cor

乾貨分享ASP.NET COREC#與Spring Boot MVC(JAVA)異曲同工的程式設計方式總結

目錄 C# VS JAVA 基礎語法類比篇: 一、匿名類 二、型別初始化 三、委託(方法引用) 四、Lambda表示式 五、泛型 六、自動釋放

Asp.net core 專案實戰 新聞網站+後臺 原始碼、設計原理 、視訊教程

首先說明,視訊教程、原始碼並非本人原創 本人將專案分割開,並寫了一些說明。 該視訊教程 地址  https://study.163.com/course/courseMain.htm?courseId=1005955006 原作者 筆者正在學 ASP.NET Core ,發現這

ASP.NET Core中使用GraphQL - 依賴注入

ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中介軟體 SOLID原則中的D表示依賴倒置原則。這個原則的內容是: 上層模組不應

ASP.NET Core中使用GraphQL - 欄位, 引數, 變數

ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中介軟體 ASP.NET Core中使用GraphQL - 第三章 依賴注入 ASP.NET Cor

Asp.net WebApi 專案示例增刪改查

1.WebApi是什麼        ASP.NET Web API 是一種框架,用於輕鬆構建可以由多種客戶端(包括瀏覽器和移動裝置)訪問的 HTTP 服務。ASP.NET Web API 是一種用於在 .NET Framework 上構建 RESTful