.NET?8新預覽版使用?Blazor?組件進行服務器端呈現(xiàn)(項目體驗)
簡介
此預覽版添加了對使用 Blazor 組件進行服務器端呈現(xiàn)的初始支持。這是 Blazor 統(tǒng)一工作的開始,旨在使 Blazor 組件能夠滿足客戶端和服務器端的所有 Web UI 需求。這是該功能的早期預覽版,因此仍然受到一定限制,但我們的目標是無論選擇如何構建應用,都能使用可重用的 Blazor 組件。
服務器端呈現(xiàn) (SSR) 是指服務器生成 HTML 以響應請求。使用 SSR 的應用加載速度很快,因為渲染 UI 的所有艱苦工作都在服務器上完成,而無需下載大型 JavaScript 捆綁包。ASP.NET Core 對帶有 MVC 和 Razor 頁面的 SSR 現(xiàn)有支持,但這些框架缺乏用于構建可重用的 Web UI 片段的組件模型。這就是開拓者的用武之地!我們正在添加對使用 Blazor 組件生成服務器呈現(xiàn)的 UI 的支持,這些組件也可以擴展到客戶端以實現(xiàn)豐富的交互性。
在此預覽版中,可以使用 Blazor 組件執(zhí)行服務器端呈現(xiàn),而無需任何 .cshtml 文件。框架將發(fā)現(xiàn)可路由的 Blazor 組件,并將其設置為終結點。不涉及 WebAssembly 或 WebSocket 連接。你不需要加載任何JavaScript。每個請求由相應終結點的 Blazor 組件獨立處理。
項目體驗
首先需要安裝 .NET 8預覽版最新版
1.創(chuàng)建一個空的 ASP.NET Core web app:
dotnet new web -o WebApp cd WebApp
2.在項目中添加一個簡單的Razor組件:
dotnet new razorcomponent -n MyComponent
更新MyComponent.razor內(nèi)容,將其變成一個帶有路由的合適的HTML頁面;
@page "/"
@implements IRazorComponentApplication<MyComponent>
<!DOCTYPE html>
<html lang="en">
<body>
<h1>Hello Blazor!</h1>
<p>The time is @DateTime.Now.ToShortTimeString()</p>
</body>
</html>
你還需要在這個組件上實現(xiàn)接口IRazorComponentApplication,該接口目前用于幫助發(fā)現(xiàn)應用程序中的組件端點。這個設計可能會在以后的更新中改變,但目前這個接口是必需的。
4.在Program.cs中通過調用.AddRazorComponents()設置Razor組件服務
builder.Services.AddRazorComponents();
5.通過調用映射組件的端點。你需要為你的組件添加一個using指令:MapRazorComponents<TComponent>()
app.MapRazorComponents<WebApp.MyComponent>();
可路由組件將自動在所駐留的程序集中發(fā)現(xiàn)。再次注意,當前必須實現(xiàn),但此設計可能會在以后的更新中更改。MyComponentTComponentIRazorComponentApplication
6.運行應用程序并瀏覽到應用程序根目錄查看你的組件渲染

但是似乎無法交互,我在使用了點擊事件但是沒法觸發(fā)了
修改MyComponent.razor文件代碼
@page "/"
@implements IRazorComponentApplication<MyComponent>
<!DOCTYPE html>
<html lang="en">
<body>
<h1>Hello Blazor!</h1>
<p>The time is @DateTime.Now.ToShortTimeString()</p>
<p>Counter: @counter</p>
<button @onclick="OnClick">run</button>
@code {
private int counter = 0;
private void OnClick()
{
counter++;
}
}
</body>
</html>運行效果:

當我們點擊按鈕并不會觸發(fā)事件!可能是需要寫js去完成,歡迎大佬一塊討論討論新的技術
到此這篇關于.NET 8新預覽版本使用 Blazor 組件進行服務器端呈現(xiàn)的文章就介紹到這了,更多相關.NET使用 Blazor 組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 國產(chǎn)化中的?.NET?Core?操作達夢數(shù)據(jù)庫DM8的兩種方式(操作詳解)
- 解決Win10無法安裝.Net Framework 3.5提示錯誤代碼0x800F081F
- ASP.NET Core異常和錯誤處理(8)
- win8/8.1系統(tǒng)安裝.net framework 3.5出現(xiàn)0x800F0906代碼錯誤的解決方法
- ASP.NET MVC5+EF6+EasyUI 后臺管理系統(tǒng)(81)-數(shù)據(jù)篩選(萬能查詢)實例
- ASP.NET 程序員都非常有用的85個工具
- 無法啟動.NET Framework NGEN v4.0.30319_X86服務的解決方法
- .NET8 依賴注入
相關文章
.NET Core通過dotnet publish命令發(fā)布應用
這篇文章介紹了.NET Core通過dotnet publish命令發(fā)布應用的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-03-03
ASP.NET Core Kestrel 中使用 HTTPS (SSL)
這篇文章主要為大家詳細介紹了ASP.NET Core Kestrel 中使用 HTTPS(SSL)的相關資料,感興趣的小伙伴們可以參考一下2016-09-09
ASP.NET使用GridView導出Excel實現(xiàn)方法
這篇文章主要介紹了ASP.NET使用GridView導出Excel實現(xiàn)方法,是asp.net操作office文件的一個典型應用,代碼中備有較為詳盡的注釋便于讀者理解,需要的朋友可以參考下2014-11-11
C#下載文件(TransmitFile/WriteFile/流方式)實例介紹
C#下載文件想必很多業(yè)內(nèi)人士都不會陌生吧,C#下載文件方法很多,本文整理了一些,可供大家參考,感興趣的你可以研究下,或許本文所提供的知識點對你有所幫助2013-02-02

