- Tooling for ASP.NET Core Blazor | Microsoft Docs
- Blazor Tutorial | Build your first app (microsoft.com)
- Build a web app with Blazor – Learn | Microsoft Docs
- สร้างโปรเจ็กส์
- หน้า Home
- หน้า Counter
- Add a component
- Set properties on the child component
1. สร้างโปรเจ็กส์
สร้างโฟลเดอร์ Blazor6
> mkdir Blazor6 > cd Blazor6
สร้างโปรเจ็กส์ด้วย Template แบบ Blazor Server App
> dotnet new blazorserver -o BlazorServer6 > cd .\BlazorServer6\
ถ้าสร้างด้วย VS 2022 เลือก Blazor Server App
run โปรแกรม
> dotnet run Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7249 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5020
run โปรแกรมแบบ Hot reload
> dotnet watch dotnet watch ? Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload. ? Press "Ctrl + R" to restart.
หรือ
> dotnet watch run dotnet watch ? Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload. ? Press "Ctrl + R" to restart.
2. หน้า Home
ไฟล์ Pages/Index.razor
@page "/" <PageTitle>Index</PageTitle> <h1>Hello, world!</h1> Welcome to your new app. <SurveyPrompt Title="How is Blazor working for you?" />
บรรทัดที่ 9 เรียกใช้ SurveyPrompt
พร้อมส่งค่า Title
ไฟล์ Shared/SurveyPrompt.razor
<div class="alert alert-secondary mt-4"> <span class="oi oi-pencil me-2" aria-hidden="true"></span> <strong>@Title</strong> <span class="text-nowrap"> Please take our <a target="_blank" class="font-weight-bold link-dark" href="https://go.microsoft.com/fwlink/?linkid=2149017">brief survey</a> </span> and tell us what you think. </div> @code { // Demonstrates how a parent component can supply parameters [Parameter] public string? Title { get; set; } }
บรรทัดที่ 15 ประกาศตัวแปร Title
บรรทัดที่ 3 แสดงค่าตัวแปร Title
3. หน้า Counter
ไฟล์ Pages/Counter.razor
@page "/counter" <PageTitle>Counter</PageTitle> <h1>Counter</h1> <p role="status">Current count: @currentCount</p> <button class="btn btn-primary" @onclick="IncrementCount">Click me</button> @code { private int currentCount = 0; private void IncrementCount() { currentCount++; } }
4. Add a component
Each of the .razor files defines a UI component that can be reused.
ไฟล์ Pages/Index.razor
@page "/" <PageTitle>Index</PageTitle> <h1>Hello, world!</h1> Welcome to your new app. <SurveyPrompt Title="How is Blazor working for you?" /> <Counter />
บรรทัดที่ 11 Add a Counter
component to the app’s homepage by adding a <Counter />
element
5. Set properties on the child component
Component parameters are specified using attributes or child content, which allow you to set properties on the child component. Define a parameter on the Counter
component for specifying how much it increments with every button click:
ไฟล์ Pages/Counter.razor
@page "/counter" <PageTitle>Counter</PageTitle> <h1>Counter</h1> <p role="status">Current count: @currentCount</p> <button class="btn btn-primary" @onclick="IncrementCount">Click me</button> @code { private int currentCount = 0; [Parameter] public int IncrementAmount { get; set; } = 1; private void IncrementCount() { currentCount += IncrementAmount; } }
ไฟล์ Pages/Index.razor
@page "/" <PageTitle>Index</PageTitle> <h1>Hello, world!</h1> Welcome to your new app. <SurveyPrompt Title="How is Blazor working for you?" /> <Counter IncrementAmount="10" />