主頁 > .NET開發 > 《ASP.NET 框架應用程式實戰》 - 學習筆記

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

2020-09-09 23:10:26 .NET開發

《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 之間的關系為多對多,即一個角色包括多個功能模塊,一個功能模塊可允許多個角色使用;

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/83.html

標籤:ASP.NET MVC

上一篇:Response.Redirect:正在中止執行緒

下一篇:ASP.NET MVC+Echarts繪制統計圖表

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • WebAPI簡介

    Web體系結構: 有三個核心:資源(resource),URL(統一資源識別符號)和表示 他們的關系是這樣的:一個資源由一個URL進行標識,HTTP客戶端使用URL定位資源,表示是從資源回傳資料,媒體型別是資源回傳的資料格式。 接下來我們說下HTTP. HTTP協議的系統是一種無狀態的方式,使用請求/ ......

    uj5u.com 2020-09-09 22:07:47 more
  • asp.net core 3.1 入口:Program.cs中的Main函式

    本文分析Program.cs 中Main()函式中代碼的運行順序分析asp.net core程式的啟動,重點不是剖析原始碼,而是理清程式開始時執行的順序。到呼叫了哪些實體,哪些法方。asp.net core 3.1 的程式入口在專案Program.cs檔案里,如下。ususing System; us ......

    uj5u.com 2020-09-09 22:07:49 more
  • asp.net網站作為websocket服務端的應用該如何寫

    最近被websocket的一個問題困擾了很久,有一個需求是在web網站中搭建websocket服務。客戶端通過網頁與服務器建立連接,然后服務器根據ip給客戶端網頁發送資訊。 其實,這個需求并不難,只是剛開始對websocket的內容不太了解。上網搜索了一下,有通過asp.net core 實作的、有 ......

    uj5u.com 2020-09-09 22:08:02 more
  • ASP.NET 開源匯入匯出庫Magicodes.IE Docker中使用

    Magicodes.IE在Docker中使用 更新歷史 2019.02.13 【Nuget】版本更新到2.0.2 【匯入】修復單列匯入的Bug,單元測驗“OneColumnImporter_Test”。問題見(https://github.com/dotnetcore/Magicodes.IE/is ......

    uj5u.com 2020-09-09 22:08:05 more
  • 在webform中使用ajax

    如果你用過Asp.net webform, 說明你也算是.NET 開發的老兵了。WEBform應該是2011 2013左右,當時還用visual studio 2005、 visual studio 2008。后來基本都用的是MVC。 如果是新開發的專案,估計沒人會用webform技術。但是有些舊版 ......

    uj5u.com 2020-09-09 22:08:50 more
  • iis添加asp.net網站,訪問提示:由于擴展配置問題而無法提供您請求的

    今天在iis服務器配置asp.net網站,遇到一個問題,記錄一下: 問題:由于擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程式。如果應下載檔案,請添加 MIME 映射。 WindowServer2012服務器,添加角色安裝完.netframework和iis之后,運行aspx頁面 ......

    uj5u.com 2020-09-09 22:10:00 more
  • WebAPI-處理架構

    帶著問題去思考,大家好! 問題1:HTTP請求和回傳相應的HTTP回應資訊之間發生了什么? 1:首先是最底層,托管層,位于WebAPI和底層HTTP堆疊之間 2:其次是 訊息處理程式管道層,這里比如日志和快取。OWIN的參考是將訊息處理程式管道的一些功能下移到堆疊下端的OWIN中間件了。 3:控制器處理 ......

    uj5u.com 2020-09-09 22:11:13 more
  • 微信門戶開發框架-使用指導說明書

    微信門戶應用管理系統,采用基于 MVC + Bootstrap + Ajax + Enterprise Library的技術路線,界面層采用Boostrap + Metronic組合的前端框架,資料訪問層支持Oracle、SQLServer、MySQL、PostgreSQL等資料庫。框架以MVC5,... ......

    uj5u.com 2020-09-09 22:15:18 more
  • WebAPI-HTTP編程模型

    帶著問題去思考,大家好!它是什么?它包含什么?它能干什么? 訊息 HTTP編程模型的核心就是訊息抽象,表示為:HttPRequestMessage,HttpResponseMessage.用于客戶端和服務端之間交換請求和回應訊息。 HttpMethod類包含了一組靜態屬性: private stat ......

    uj5u.com 2020-09-09 22:15:23 more
  • 部署WebApi隨筆

    一、跨域 NuGet參考Microsoft.AspNet.WebApi.Cors WebApiConfig.cs中配置: // Web API 配置和服務 config.EnableCors(new EnableCorsAttribute("*", "*", "*")); 二、清除默認回傳XML格式 ......

    uj5u.com 2020-09-09 22:15:48 more
最新发布
  • C#多執行緒學習(二) 如何操縱一個執行緒

    <a href="https://www.cnblogs.com/x-zhi/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2943582/20220801082530.png" alt="" /></...

    uj5u.com 2023-04-19 09:17:20 more
  • C#多執行緒學習(二) 如何操縱一個執行緒

    C#多執行緒學習(二) 如何操縱一個執行緒 執行緒學習第一篇:C#多執行緒學習(一) 多執行緒的相關概念 下面我們就動手來創建一個執行緒,使用Thread類創建執行緒時,只需提供執行緒入口即可。(執行緒入口使程式知道該讓這個執行緒干什么事) 在C#中,執行緒入口是通過ThreadStart代理(delegate)來提供的 ......

    uj5u.com 2023-04-19 09:16:49 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    <a href="https://www.cnblogs.com/huangxincheng/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/214741/20200614104537.png" alt="" /&g...

    uj5u.com 2023-04-18 08:39:04 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    一:背景 1. 講故事 前段時間協助訓練營里的一位朋友分析了一個程式卡死的問題,回過頭來看這個案例比較經典,這篇稍微整理一下供后來者少踩坑吧。 二:WinDbg 分析 1. 為什么會卡死 因為是表單程式,理所當然就是看主執行緒此時正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ......

    uj5u.com 2023-04-18 08:33:10 more
  • SignalR, No Connection with that ID,IIS

    <a href="https://www.cnblogs.com/smartstar/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/u36196.jpg" alt="" /></a>...

    uj5u.com 2023-03-30 17:21:52 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:15:33 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:13:31 more
  • C#遍歷指定檔案夾中所有檔案的3種方法

    <a href="https://www.cnblogs.com/xbhp/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/957602/20230310105611.png" alt="" /></a&...

    uj5u.com 2023-03-27 14:46:55 more
  • C#/VB.NET:如何將PDF轉為PDF/A

    <a href="https://www.cnblogs.com/Carina-baby/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2859233/20220427162558.png" alt="" />...

    uj5u.com 2023-03-27 14:46:35 more
  • 武裝你的WEBAPI-OData聚合查詢

    <a href="https://www.cnblogs.com/podolski/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/616093/20140323000327.png" alt="" /><...

    uj5u.com 2023-03-27 14:46:16 more