初探 ASP.NET Blazor
Blazor 專案很特別,寫起來很像以前的老 ASP,像是下列寫法:
@page "/GetList"
@using WebUrlListBlazorAP.Data
@inject WebUrlDataService service
<h3>GetList</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Url</th>
</tr>
</thead>
<tbody>
@foreach (var item in list)
{
<tr>
<td>@item.Name</td>
<td><a href="@item.Url" target="_blank">@item.Url</a></td>
</tr>
}
</tbody>
</table>
@code {
private List<WebUrlData> list = new List<WebUrlData>();
protected override async Task OnInitializedAsync()
{
list = service.GetList();
}
}
這個頁面就是從 service 取得資料然後輸出至網頁上,而新增資料則是下列寫法:
@page "/Insert"
<h3>InserUrlData</h3>
@using WebUrlListBlazorAP.Data
@inject WebUrlDataService service
<EditForm Model="@urlModel" OnSubmit="@Insert">
<span>名稱</span><InputText @bind-Value="urlModel.Name" /> <br />
<span>網址</span><InputText @bind-Value="urlModel.Url"></InputText> <br />
<button type="submit">新增</button>
</EditForm>
@code {
private WebUrlData urlModel = new();
private void Insert()
{
service.Insert(urlModel.Name, urlModel.Url);
urlModel.Name = string.Empty;
urlModel.Url = string.Empty;
}
}
雖然基本的 html 還是需要了解,但某方面來說可以省去寫 JS,對於專攻後端的工程師來說很省事。
完整程式碼:
參考資料