《ASP.NET 框架應用程式實戰》 - 學習筆記

来源:https://www.cnblogs.com/GATTACA2011/archive/2020/06/08/13063549.html
-Advertisement-
Play Games

《ASP.NET 框架應用程式實戰》 [作者] (中) 李發陵 冷亞洪[出版] 清華大學出版社[版次] 2017年01月 第1版[印次] 2017年01月 第1次 印刷[定價] 47.00元 【第02章】 (P023) 目前, ASP.NET MVC 4 已內置於 Visual Studio 201 ...


《ASP.NET 框架應用程式實戰》

========== ========== ==========
[作者] (中) 李發陵 冷亞洪
[出版] 清華大學出版社
[版次] 2017年01月 第1版
[印次] 2017年01月 第1次 印刷
[定價] 47.00元
========== ========== ==========

【第02章】

(P023)

目前, ASP.NET MVC 4 已內置於 Visual Studio 2012 中; ASP.NET MVC 5 已內置於 Visual Studio 2013 中。

ASP.NET MVC 框架為創建基於 MVC 設計模式的 Web 應用程式提供了設計框架和技術基礎。它是輕量級的、高度可測試的演示框架,並且它結合了現有的 ASp.NET 特性。 MVC 框架被定義在 System.Web.Mvc 命名空間中,並且是被 System.Web 命名空間所支持的。

(P024)

ASP.NET MVC 框架是基於標準組件的,開發人員可以根據需要分解和替換每個組件。

(P028)

學習一個軟體開發框架最有效的方式就是瞭解並使用它。

(P031)

MVC 5 項目預設使用 Razor 視圖引擎來開發項目。

(P034)

在 “@{ /* 代碼體 */ }” 中的代碼的每一行都必須以 “;” 結束。

(P035)

輸出變數值 (格式 : @變數) 則不需要以 “;” 作為結束符。

如果在 “@” 的前一個字元若是非空白字元,則 MVC 引擎不會對其進行處理。

只有一行語句的表達式,以 “@” 開頭,不需要 { } 。

Razor 不支持訪問修飾符 (如 public 、 private 等) ,可以在單行代碼中定義局部變數。

(P036)

在 “@ {...}” 內部可以輸出文本,利用 “@:” 進行單行輸出。

(P037)

在 “@ {...}” 內部可以利用 <text/> 進行多行輸出。

在 Razor 中使用迴圈需要加關鍵字元 “@” ,共有兩種方式可以實現迴圈的效果。

(P039)

視圖文件預設的目錄為 : Views\[ControllerName]\[ActionName].cshtml

(P040)

一個 Web 應用程式通過 RouteTable 類型的靜態只讀屬性 Routes 維護一個全局的路由表,該屬性返回一個 RouteCollection 對象,我們將這個對象稱為路由表。

(P050)

多數情況下,會通過一個 Model 對象來處理複雜的參數,如參數為一個對象,這時 DefaultModelBinder 會遍歷 Model 對象的屬性來綁定參數。

(P052)

如果在 Action 的參數中沒有顯示指定接收的模型參數,則可以使用顯示模型綁定方法獲取視圖中提取的數據。

UpdateModel 與 TryUpdateModel 都用於顯示模型綁定。

(P059)

佈局視圖為公共視圖,文件名通常以下劃線開頭。

佈局視圖中可以選擇性地使用 @RenderBody() 或 @RenderSection() 方法作為佈局占位符,但一個佈局視圖只能有一個 @RenderBody() ,可以有多個 @RenderSection() 。

由於佈局視圖的特殊性,決定了佈局視圖不能直接被控制器的方法調用,需要被其他視圖頁引用後才能使用。

(P060)

如果視圖頁中沒有顯示指定的佈局視圖,則系統會自動調用 “~/Views/_ViewStart.cshtml” 視圖文件中設定的視圖頁作為佈局視圖。

分部視圖的作用在於一個分部視圖的創建可以被多個佈局視圖和普通視圖多次調用。

(P063)

在 ASP.NET MVC 5 中可以使用 BundleTable 打包多個 CSS 文件和 JavaScript 文件,以提高網路載入速度和頁面解析速度。

(P065)

在視圖文件的相應位置調用 ScriptRender 類和 StyleRender 類的 Render() 方法可以輸出打包的資源。

(P081)

HTML 幫助器的常用方法 :

1. @Html.Action() —— 載入指定的分部視圖;

2. @Html.Partial() @Html.RenderPartial() —— 以 HTML 編碼字元串的形式呈現指定的分部視圖;

(P094)

Partial 方法的返回值為 MvcHtmlString ,而 RenderPartial 方法的返回值為 void 。

(P095)

UrlHelper 類的常用方法 :

1. @Url.Action() —— 使用指定的操作名稱生成操作方法的完全限定 URL ;

2. @Url.Content() —— 將虛擬 (相對) 路徑轉換為應用程式的絕對路徑;

3. @Url.Encode() —— 將 URL 字元串中的特殊字元編碼為字元實體等效項;

【第03章】

(P106)

對於獲取的元素集合,獲取其中的某一項 (通過索引指定) 可以使用 eq 、 get(n) 方法或索引號獲取。要註意, eq 返回的是 jQuery 對象,而 get(n) 和索引返回的是 DOM 元素對象。對於 jQuery 對象只能使用 jQuery 的方法,而 DOM 對象只能使用 DOM 的方法。

jQuery 用同一函數實現 set 和 get 方法。

(P110)

編寫插件的目的是給已經有的一系列方法或函數做一個封裝,以便在其他地方重覆使用,方便後期的維護。

避免在插件內部使用 “$” 作為 jQuery 對象的別名,而應當使用完整的 “jQuery” 來表示,這樣可以避免衝突。

(P125)

AJAX 技術通常用於客戶端與伺服器端非同步交換數據,在交換數據時最常用到的方法是 get 和 post 。

【第04章】

(P139)

實體映射技術作為類與表之間的聯繫紐帶,在 ORM 實現中起著至關重要的作用。

(P141)

多對多映射與一對一和一對多映射不同,它需要藉助中間表完成多對多映射信息的保存。

在利用 ORM 技術開發應用程式時,最核心的數據優先處理問題便是 “映射” 。為了成功實現對象與關係之間映射。必須建立的主要文件有 : 映射類 (*.cs 文件) 、 映射文件 (*.hbm.xml 文件) 以及資料庫配置文件 (*.cfg.xml 文件) 。

(P145)

實體數據模型 (EDM) 由三部分組成 : 概念模型由概念架構定義語言來定義,主要描述實體類;存儲模型 (又稱邏輯模型) 由存儲架構定義語言 (.ssdl) 來定義,描述表、列、關係、主鍵及索引等數據對象;映射由映射規範語言 (.msl) 定義,主要包括存儲模型中實體類屬性與存儲模型中列的對應。

【第06章】

(P194)

一位專家曾經說過 : “所有結構良好的面向對象構架都具有清晰的層次定義,每個層次通過一個定義良好的、受控的介面向外提供了一組內聚的服務” 。

(P203)

如果說數據層是積木,那邏輯層就是對這些積木的搭建。

(P205)

在實際項目開發過程中設計資料庫時,會為每張表設計一個與業務無關的主鍵,這主要是因為 :

1. 為了唯一地標識表中的每一條記錄,加快檢索的速度;

2. 建立外鍵約束。為了保證數據的完整性,在資料庫表中建立外鍵是保證數據有效性的方法之一,建立外鍵的前提條件是建立主表的主鍵;

(P217)

框架級的 UI 層一般提供公共的、使用頻率非常高的界面使用方式,它是系統與用戶通信與交流的平臺,離用戶最近,將直接影響用戶對系統的評價結果。作為一個軟體架構,不但應該包含底層的功能,還應該包含 UI 層的公共配置,如皮膚、樣式等。

【第09章】

(P255)

基於角色的訪問控制方法 (RBAC) 有以下兩大顯著特征 :

1. 由於 角色 / 許可權 之間的變化比 角色 / 用戶 之間的變化相對要慢得多,減少了授權管理的複雜性,降低了管理開銷哦;

2. 靈活地支持企業的安全策略,並對企業的變化有很大的伸縮性;

(P258)

要實現基於 RBAC 的許可權管理,需要用戶 (User) 、角色 (Role) 和系統功能模塊 (SystemFunction) 三個類。它們之間的映射關係如下 :

1. User 與 Role 之間的關係為多對多,即一個用戶可以有多個角色,一個角色對應多個用戶;

2. Role 與 SystemFunction 之間的關係為多對多,即一個角色包括多個功能模塊,一個功能模塊可允許多個角色使用;


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

-Advertisement-
Play Games
更多相關文章
  • 折騰了幾天,先把第一版成果記錄下來,吼吼.... 一、效果圖 二、實現過程源碼 1、先創建winform工程 創建好如下文件 2、在Config.cs中構靜態數據 using System; using System.Collections.Generic; using System.Linq; u ...
  • 泛型與普通方法、Object方法效率比較 簡介: 方法的執行效率比較,首先考慮的就是執行方法時所耗費的時長,時長越短,效率越好,耗時越長,效率越差。下麵就從執行耗時方法考量三種方法的效率。 實現方法: static void Main(string[] args) { Monitor.Show(); ...
  • 因為上班的公司要我用wpf寫軟體,剛畢業出來,學校也沒教過wpf,只會winform,再加上wpf用winform的框架寫法也能實現很多需求,但是就不能體現wpf的優點了,今天就先來學wpf的樣式,因為對美的認識不足,所以排版不好,對代碼有意見或建議的,希望多多提出,我是初學者。 今天就先弄個But ...
  • .net core 引用wcf 在發佈的時候報錯提示:Could not load file or assembly 'System.Private.ServiceModel, Version=4.1.2.4, Culture=neutral, PublicKeyToken=b03f5f7f11d... ...
  • C#中的泛型 簡介: 泛型,就是在定義方法時先不聲明方法的返回值類型或者參數類型,只是聲明占位符,而是在調用方法時才聲明類型。泛型是延遲聲明的:即定義的時候沒有指定具體的參數類型,把參數類型的聲明推遲到了調用的時候才指定參數類型。 延遲思想在程式架構設計的時候很受歡迎。 案例: class Gene ...
  • 1. 什麼是 WinUI 3 在微軟 Build 2020 開發者大會上,WinUI 團隊宣佈可公開預覽的 WinUI 3 Preview 1,它讓開發人員可以在 Win32 中使用 WinUI。WinUI 3 Preview 1 包含新的 VisualStudio 項目模板,可以創建面向 .NET ...
  • 系列文章 基於 abp vNext 和 .NET Core 開發博客項目 - 使用 abp cli 搭建項目 基於 abp vNext 和 .NET Core 開發博客項目 - 給項目瘦身,讓它跑起來 基於 abp vNext 和 .NET Core 開發博客項目 - 完善與美化,Swagger登場 ...
  • 首先我們來看一段控制台應用代碼: class Program { static async Task Main(string[] args) { System.Console.WriteLine($"Thread Id is Thread:{Thread.CurrentThread.ManagedT ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...