發表文章

目前顯示的是有「Blazor WebAssembly」標籤的文章

Blazor WebAssembly_自行元件封裝part1.與css 的 isolation

圖片
  在Blazor當中若要去設定事件的callback寫法很單純 針對Button前端的元素我們可以加上@onclick後頭捕上 lambda expression的匿名方法或者具名方法 而元件封裝跟過去webform時代的ascx 其實很像 額外定義一個razor元件 ~\Pages\Alert.razor 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 @if (Show) { <div class= "dialog-container" > <div class= "dialog" > <div> @ChildContent </div> <div> <button @onclick= "OnOk" > OK </button> </div> </div> </div> } @code { [Parameter] public bool Show { get ; set ; } [Parameter] public EventCallback OnOk { get ; set ; } [Parameter] public RenderFragment ChildContent { get ; set ; } } [Parameter]修飾的屬性 則代表可從父元件傳遞進來給當前這個子元件的意思 EventCallback 則是對外可去指定要呼叫的客製化委派(也就是方法回呼) RenderFragment 則代表這個子元件也就是open/close tag裡面你可以填入取代的內文block 你可以從父元件傳入新型的子元...

Blazor第1天_Blazor Server跟Blazor WebAssembly專案種類與技術差異介紹

圖片
  本次筆記學習皆以vs2019 .net 5以上版本做示範 會分別紀錄vs2019 .net5 與 vs2022 .net6的專案開發方式 如果專案本身有一些要跟.net framework以前的4.5左右相依 電腦空間有限 建議可以採用vs2019 與.net5的配套 https://docs.microsoft.com/zh-tw/visualstudio/releases/2019/compatibility 因為vs2022(才支援到.net6)會只支援到4.6(含)以上的版本 https://docs.microsoft.com/zh-tw/visualstudio/releases/2022/compatibility Blazor的介紹 Blazor 其實就是Browser 加上以前的 Razor語法  (Browser + Razor) 屬於一種基於 .net core 的 Single Page Application(SPA) 框架, 因此可跨平台 。 其實就是微軟有個野心想讓C#這個程式語言可以不只限於用在後端也可以將前端涵蓋。 Blazor主要包含以下幾項特色 Component-based 架構 Javascript Interop Forms & Validation Routing State Management Layouts 而Blazor主要又分為兩種Hosting Model 1.Blazor Server 2.Blazor WebAssembly 所謂Hosting Model 也就是所謂的Render這些 監聽UI變化的相應計算機制的Blazor component邏輯的模式 Blazor Server跟Blazor WebAssembly技術差異 Blazor Server技術介紹 主要會需要一個server,在Server上運行完並即時渲染到Browser的模式。 Blazor Server是一套底層藉由 SignalR 來當作Client Side與Server Side的溝通媒介 一些js dom或event trigger都會藉此技術來做交互。 (備註:SignalR 技術基本上就是一套底層透過 websocket 達到real-time的連線更動open source library...