【無私分享:ASP.NET CORE 項目實戰(第九章)】創建區域Areas,添加TagHelper

来源:http://www.cnblogs.com/yuangang/archive/2016/08/16/5775171.html
-Advertisement-
Play Games

目錄索引 【無私分享:ASP.NET CORE 項目實戰】目錄索引 簡介 在Asp.net Core VS2015中,我們發現還有很多不太簡便的地方,比如右擊添加視圖,轉到試圖頁等功能圖不見了,雖然我們可以通過工具欄的自定義命令,把這兩個右擊菜單添加上,但是貌似是灰色的不能用。 其實,這樣也好,通過 ...


 

目錄索引 

 

【無私分享:ASP.NET CORE 項目實戰】目錄索引

 

簡介

 

  

  在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 現在很火熱,但是網上的很多資料都是前篇一律的複製,所以有很多問題我也暫時沒有解決,希望大家能共同幫助一下!

 

原創文章 轉載請尊重勞動成果 http://yuangang.cnblogs.com

 

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們在平常開發過程中,在設計數據的時候,經常碰到數據類型選擇的問題,為了更快,更合適地選擇正確的數據類型,所以在這裡做個總結。 分類 sql server 數據類型 c# 數據類型 描述 應用場景 字元和字元串 char(n) ... ...
  • 1: 添加單元測試 2:打開單元測試類 關鍵點: 類上加上標記:[TestClass],方法上添加標記:[TestMethod],方法輸出使用:Assert.IsNotNull(s,"測試失敗"); 其中:Assert.IsNotNull()是單元測試判斷是否成功方法,還有其他方法,s為判斷對象," ...
  • 結論: > Socket 理論上 支持 只上行,或者 只下行。 > 心跳包 必須是 上下行的 —— 心跳包請求(上行) - 心跳包響應(下行)。 > 如果 長時間 只有單向鏈接(只發送不接受,或者 只接受不發送) —— 路由器 就會 丟棄 Socket數據。 > 心跳包 不是 必須的 —— 任意 上 ...
  • 在一個基於面向服務的分散式環境中,藉助一個標準的、平臺無關的通信協議,使各個服務通過SOAP Message實現相互之間的交互。這個交互的過程實際上就是信息交換的過程。WCF支持不同形式的信息交換,我們把這稱之為信息交換模式(Message Exchange Pattern(簡稱MEP),下同), ... ...
  • 提交git代碼的時候報的錯誤 這是因為修改的東西太少的原因,應該多修改一些就可以提交了 例如:只是刪除了一個空格或者一個字元就提交git代碼的話就會提示這個錯誤 解決方法:多多的改變一下代碼,比如增加一下回車 ...
  • 直接看圖吧: ...
  • 在設計資料庫的時候,經常碰到那些表示狀態或類型的欄位,比如訂單的狀態,或者支付的類型。要為這一類數據選擇合適的數據類型,比較常用的有以下兩種方法。 方法一:tinyint+byte(枚舉) 資料庫中類型:tinyint c#中類型:byte,如代碼: 方法二:varchar(xx)+string(c... ...
  • 快捷鍵說明 1.Ctrl+B可以選擇顯示或隱藏左邊的項目導航框; 2.Ctrl+\可以實現在右邊再打開一個編輯工作區域。配合利用Ctrl+1,2,3可以快速切換編輯視窗 3.Ctrl+P快速打開搜索框搜索文件 4.Ctrl+Shift+P命令編輯。 5.Ctrl+Tab列出你所打開的所有文件列表。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...