主頁 > .NET開發 > 《ASP.NET MVC 5 高級編程》 - 學習筆記

《ASP.NET MVC 5 高級編程》 - 學習筆記

2020-09-10 09:44:28 .NET開發

《ASP.NET MVC 5 高級編程》

========== ========== ==========
[作者] (美) Jon Galloway (美) Brad Wilson (美) K. Scott Allen (美) David Matson
[譯者] (中) 孫遠帥
[出版] 清華大學出版社
[版次] 2015年02月 第1版
[印次] 2015年02月 第1次 印刷
[定價] 59.80元
========== ========== ==========

【第01章】

(P001)

證明軟體框架和模式價值最好的方法就是展示它們在實際場景中的應用,

(P007)

雖然 ASP.NET API 包含在 ASP.NET MVC 4 中,但它可以單獨使用,事實上,它與 ASP.NET 不存在任何依賴關系,并且可以自托管 —— 也就是說,獨立于 ASP.NET 和 IIS ,

(P014)

MVC 5 是完全 bin 部署的,這意味著所有必要的程式集都包含在應用程式的 bin 目錄中,只要服務器上有 .NET 4.5 ,就可以進行安裝,

【第02章】

(P023)

URL 并不與存盤在 Web 服務器磁盤上的檔案有直接對應關系,而是與控制器類的方法有關,

路由子系統在前面,之后才是控制器,

(P024)

MVC 提供的是方法呼叫結果,而不是動態生成的 (又名腳本) 頁面,

(P025)

在 ASP.NET MVC 中,每個請求都被路由到控制器的一個方法 (又稱操作),該控制器全權負責解釋這些請求,如有必要,還要操縱模型,然后選擇一個視圖反饋給用戶,

(P034)

利用方法 HttpUtility.HtmlEncode 來預處理用戶輸入,這樣就能阻止用戶用鏈接向視圖中注入 JavaScript 代碼或 HTML 標記,

ASP.NET MVC 的默認路由約定,就是將操作方法名稱后面 URL 的這個片段作為一個引數,該引數的名稱為 ID ,

【第03章】

(P036)

視圖實際上就是應用程式的 “大使” ,

(P037)

視圖總是被控制器渲染,因為控制器為它提供了要渲染的資料,

(P039)

ViewBag 具有局限性,但是如果只是向視圖傳遞少量資料,它還是很有用的,

(P042)

可以從控制器向視圖傳遞一個在兩端都是強型別的模型物件,

如果不想輸入模型型別的完全限定型別名,可使用 @using 關鍵字宣告,

對于在視圖中經常使用的名稱空間,一個較好的方法就是在 Views 目錄下的 web.config 檔案中宣告,

(P045)

顯示 “Add View” 對話框最簡單的方法就是在操作方法上右擊,

(P049)

Razor 中的核心轉換字符是 “at” 符號 (@) ,這個單一字符用做 “標記-代碼” 的轉換字符,有時也反過來用做 “代碼-標記” 的轉換字符,

(P053)

有些情況下,需要顯式地渲染一些不應該采用 HTML 編碼的值,這時可以采用 Html.Raw 方法來保證該值不被編碼,

(P054)

可以用 “@@” 來編碼 “@” 以達到顯示 “@” 的目的,

(P055)

@RenderBody 是一個占位符,用來標記使用這個布局的視圖將渲染它們的主要內容的位置,

【第04章】

(P062)

在 Visual Studio 中,既可以使用 Build | Build Solution 選單項,也可以使用鍵盤快捷鍵 Ctrl + Shift + B 來編譯應用程式,

(P063)

基架對于創建應用程式來說不是不可或缺的,但是利用基架會為應用程式開發節省很多時間,

(P079)

瀏覽器會自動收集用戶在表單中輸入的所有資訊并將這些值 (及其相關的 name 屬性值) 放在請求中一起發送,

【第05章】

(P086)

action 特性用以告知 Web 瀏覽器資訊發往哪里,所以 action 就順理成章地包含一個 URL ,

當用戶使用 HTTP GET 請求提交時,瀏覽器會提取表單中輸入元素的 name 特性值及其相應的 value 特性值,并將它們放入到查詢字串中,

如果不想讓瀏覽器把值放入查詢字串中,而是想放入 HTTP 請求的主體中,就可以給 method 特性賦值 post ,

(P087)

通常情況下,在 Web 應用程式中, GET 請求用于讀操作, POST 請求用于寫操作 (通常包括更新、創建和洗掉) ,

(P089)

可以通過視圖的 Html 的屬性呼叫 HTML 輔助方法,相應地,也可以通過 Url 屬性呼叫 URL 輔助方法,通過 Ajax 屬性呼叫 AJAX 輔助方法,所有這些方法都有一個共同的目標 : 使視圖編碼變得容易,

(P091)

在 ASP.NET MVC 框架的多載版本中,幾乎每一個 HTML 輔助方法都包含 htmlAttributes 引數,

所有的 HTML 輔助方法在渲染 HTML 時會將屬性名中的下劃線轉換為連字符,

(P093)

ValidationSummary 輔助方法可以用來顯示 ModelState 字典中所有驗證錯誤的無序串列,

(P095)

TextBox 輔助方法渲染一個 type 特性為 text 的 input 標簽,我們一般利用 TextBox 輔助方法接收用戶自由形式的輸入,

(P096)

label 的作用就是為其他輸入元素顯示附加資訊,這樣可以為用戶提供人性化的界面,從而增強應用程式的可訪問性,

label 的 for 特性應該包含相關輸入元素的 id ,

如果用戶單擊 label ,那么瀏覽器會把焦點傳送給相關的輸入控制元件,

(P097)

當 ModelState 字典中的某一特定欄位出現錯誤時,可以使用 ValidationMessage 輔助方法來顯示相應的錯誤提示資訊,

(P098)

輔助方法提供了對 HTML 細粒度控制的同時帶走了構建 UI (要在合適的位置顯示控制元件、標簽、錯誤資訊和值) 的乏味作業,

在 ViewBag 物件中的所有值也可以通過 ViewData 得到,

(P099)

在 id 特性中包含 (.) 是非法的,

如果沒有有效的 id 特性,就無法執行帶有 JavaScript 庫 (如 jQuery) 的客戶端腳本,

(P100)

輔助方法在查找強型別模型物件之前,會首先查看 ViewBag ,

(P101)

一般情況下,可為處理模型資料的每個輔助方法找到一個與其對應的強型別方法,

(P102)

ModelState 是模型系結的副產品,并且存盤模型系結期間檢測到的所有驗證錯誤,以及用戶提交用來更新模型的原始值,

(P104)

CheckBox 輔助方法是唯一一個渲染兩個輸入元素的輔助方法,

ActionLink 輔助方法能夠渲染一個超鏈接 (錨標簽) ,渲染的鏈接指向另一個控制器操作,

當鏈接的操作所在控制器與用來渲染當前視圖的控制器一樣時,只需要指定操作的名稱,

當需要一個指向不同控制器操作的鏈接時,可通過 ActionLink 方法的第三個引數來指定控制器名稱,

(P105)

盡管 RouteLink 輔助方法和 ActionLink 輔助方法遵循相同的模式,但是 RouteLink 只可以接收路由名稱,而不能接收控制器名稱和操作名稱,

URL 輔助方法與 HTML 的 ActionLink 和 RouteLink 輔助方法相似,但它不是以 HTML 標記的形式回傳構建的 URL ,而是以字串的形式回傳這些 URL ,

(P106)

Content 輔助方法特別有用,因為它可以把應用程式的相對路徑轉換成絕對路徑,

ASP.NET MVC 5 使用的是 Razor 的第三個版本,波浪號當出現在 script 、 style 和 img 元素的 src 特性時就會被自動決議,

RenderPartial 輔助方法與 Partial 非常相似,但 RenderPartial 不是回傳字串,而是直接寫入回應輸出流,出于這個原因,必須把 RenderPartial 放入代碼塊中,而不能放在代碼運算式中,

【第06章】

(P116)

每個驗證特性都允許傳遞一個帶有自定義錯誤提示資訊的引數,

(P117)

默認情況下,ASP.NET MVC 框架在模型系結時執行驗證邏輯,

在操作方法帶有引數時,就會隱式地執行模型系結,

也可以利用控制器的 UpdateModel 或 TryUpdateModel 方法顯式地執行模型系結,

【第07章】

(P129)

身份驗證是指通過使用某種形式的登錄機制來核實用戶的身份,

授權驗證是用來核實登錄站點的用戶是否在他們的權限內執行操作,

Authorize 特性不帶任何引數,只要求用戶以某種角色身份登錄網站,

(P133)

Authorize 特性是一個過濾器,也就是說,它能先于相關控制器操作執行,

(P137)

全域過濾器只針對 MVC 控制器操作,記住這一點很重要,它不能保障 Web Forms 、 靜態內容或其他 ASP.NET 處理程式的安全,

(P140)

技術上講,設計 OAuth 協議是出于授權的目的,但是該協議常常被用來進行身份驗證,

(P150)

Html.Encode 是程式員最好的 “朋友” ,

(P161)

防御重復提交攻擊的最簡單方法就是,使用 [Bind] 特性顯式地控制需要由模型系結器系結的屬性,

[Bind] 特性既可以放在模型類上,也可以放在控制器操作引數中,

(P162)

避免直接系結到資料模型也是有效防御重復提交攻擊的一種方式,它通過使用一個視圖模型 (View Model) ,只快取允許用戶設定的屬性來阻止攻擊,

【第08章】

(P171)

ASP.NET MVC 5 中主要的 Ajax 特性要么是基于 jQuery 構建,要么是擴展的 jQuery 特性,

(P172)

jQuery 擅長在 HTML 檔案中查找、遍歷和操縱 HTML 元素,一旦找到元素, jQuery 就可以方便地在其上進行操作,

jQuery 函式物件可以用來訪問 jQuery 特性,

(P173)

當傳遞一個函式作為第一個引數時, jQuery 就會假定這個函式是要在瀏覽器完成構建 (由服務器提供的) HTML 頁面中的檔案物件模型 (Document Object Model , DOM) 后立即執行,換句話說,這個函式在從服務器加載完 HTML 頁面之后執行,

jQuery 利用 JavaScript 的函式式編程特性,經常把創建的或傳遞的函式作為 jQuery 方法的引數,

(P174)

選擇器是指傳遞給 jQuery 函式的、用來在 DOM 中選擇元素的字串,

jQuery 選擇器的語法正是派生于 CSS 3.0 選擇器的語法,并在其基礎上做了一些補充,

jQuery 的 on 方法 (以及對應的 off 方法,用于取消訂閱事件) 是在 jQuery 1.7 中引入的,用于為事件系結提供一個統一的 API , on 方法取代了原來的 bind 、 live 和 delegate 方法;事實上,如果查看源代碼,可看到 bind 、 live 和 delegate 方法只是將呼叫傳遞給了 on 方法,

(P175)

一旦選擇了一些 DOM 元素或是在一個事件處理程式內, jQuery 就可以很容易地操縱頁面上的元素,讀取或設定它們的特性值,添加或移除它們的 CSS 類等,

jQuery 包含了向 Web 服務器回發異步請求所需的所有功能,可以用 jQuery 來生成 POST 請求或 GET 請求,并且當請求完成 (或出現錯誤) 時 jQuery 會發出通知,

(P182)

必須參考 jquery.unobtrusive-ajax.js 腳本,才能讓 Ajax 輔助方法的 Ajax 功能生效,如果在使用 Ajax 輔助方法時發生問題,這時應該首先檢查的地方,

可以把腳本參考添加到應用程式的 _Layout 視圖中,也可以僅添加到使用 Ajax 輔助方法的視圖中,除非在網站中發出大量 Ajax 請求,否則建議僅把腳本參考添加到單獨的視圖中,

(P196)

jQuery UI 可能是最流行的 jQuery 插件集合,也是最流行的 NuGet 包之一,

jQuery UI 是一個包含效果和小部件的 jQuery 插件,與所有插件類似,它緊密地集成了 jQuery ,并且擴展了 jQuery 中的 API ,

【第09章】

(P215)

在操作方法級別指定路由特性時,會覆寫控制器級別指定的任何路由特性,

(P223)

特性路由直接系結到方法和控制器,而不是僅指定名稱,這意味著它們更加精確,

(P224)

只需要記住,除非路由提供了 controller 和 action 引數,否則 MVC 不知道為 URL 運行哪些代碼,

【第11章】

(P272)

應用程式頻繁地使用 HTTP 和 JSON 作為通信渠道訪問主頁,當今的應用程式如果不能提供某種形式的遠程訪問 API 和/或 手機應用,就不能認為它已經 “完成” ,

ASP.NET MVC 在接收表單資料生成 HTML 方面功能非常強大; ASP.NET Web API 在接收和生成像 JSON 和 XML 等結構化資料方面功能非常強大,

(P273)

Web API 直接把結果模型物件作為回應來渲染,

(P283)

自托管和 Web 托管之間的主要區別在于路由的運行時刻 : 對于 Web 托管,ASP.NET 運行路由非常早;但在自托管情形中, Web API 運行路由的時刻就非常晚,

【第12章】

(P290)

HTML 應用程式,也與人稱之為單頁應用程式或 SPA (Single Page Application) ,是一個復雜的事物,

管理復雜性的技術通常都是創建一個可以隱藏復雜性的框架,

(P291)

為什么要在客戶端使用模型、視圖和控制器呢?其實和服務器端使用的原因一樣 —— 維持代碼的順序,把不同功能分在不同的抽象中,

Web API 模板也有 ASP.NET MVC 支持,但只提供一個首頁作為起始點,對于應用程式的需求,這樣做是很完美的,

(P293)

Angular 核心指令都有一個 “ng” 前綴,這里 “ng” 即是 Angular 的簡寫,

“ng-app” 是 Angular 的應用程式引導指令,

“ng-app” 告知 Angular 跳入并初始化應用程式,并尋找其他內部指令和模板來控制 DOM 節,這一程序通常被稱作編譯 DOM ,

(P298)

Angular 控制器主要用來管理 DOM 節,構建模型,只要與之關聯的 DOM 區域仍在展現, Angular 控制器就是有狀態的、存活的,

【第13章】

(P321)

ASP.NET MVC 框架充分利用了擴展方法,大部分用來在視圖中生成表單的 HTML 輔助方法都是 HtmlHelper 、 AjaxHelper 或 UrlHelper 類的擴展方法,

(P322)

依賴注入的最常見形式是建構式注入 (constructor injection) ,

(P323)

屬性注入 (property injection) 是一種不太常見的依賴注入方式,

(P324)

依賴注入容器便是使依賴決議變得簡單的一種方式,依賴注入容器是一個可以作為組件工廠使用的軟體庫,它可以自動檢測和滿足里面元素的依賴需求,依賴注入容器 API 的使用介面看起來很像服務定位器,因為請求其執行的主要操作將根據型別提供一些組件,

(P329)

視圖引擎的主要任務是把視圖的名稱轉換為視圖實體,

【第14章】

(P343)

ASP.NET 核心基礎結構主要由 IHttpModule 和 IHttpHandler 介面,以及 HttpRequest 和 HttpResponse 等類的 HttpContext 層次結構組成,這些也是所有 ASP.NET 構建的基礎類,無論是 Web Forms 、 MVC 還是 Web Pages 都是在其上構建,

【第15章】

(P366)

HTML 和 Ajax 輔助方法可以訪問 ViewContext ,因為它們只能從視圖中呼叫,而 URL 輔助方法可以訪問 ControllerContext ,因為它們既可以從控制器中呼叫,也可以從視圖中呼叫,

【第16章】

(P395)

默認基架器使用 Text Template Transformation (通常稱為 T4) 生成代碼, T4 是一個集成到 Visual Studio 中的代碼生成器引擎,

(P423)

使用同步管道的指導原則如下 :

1. 操作簡單或者能在短時間內執行完畢;

2. 簡單性和可測驗性是重要的;

3. 操作是 CPU 密集型,而非 IO 密集型;

使用異步管道的指導原則如下 :

1. 測驗結果表明阻塞操作是站點性能的瓶頸;

2. 并行性比代碼簡單更重要;

3. 操作是 IO 密集型,而非 CPU 密集型;

把一個操作轉換為一個異步操作的一些要求 :

1. 操作方法必須使用 async 修飾符標記為異步;

2. 操作必須回傳 Task 或 Task<ActionResult> ;

3. 方法中的任何異步操作使用 await 關鍵字掛起操作,直到呼叫完成;

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

標籤:ASP.NET MVC

上一篇:《ASP.NET MVC 5 網站開發之美》 - 學習筆記

下一篇:jQuery Ajax.BeginForm方法回呼函式高版本3.3.1不兼容問題

標籤雲
其他(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