在Blazor Server应用程序中,服务器端和客户端共享相同的数据可以通过以下方式实现:
DataService
的类。public class DataService
{
private List data = new List();
public List GetData()
{
return data;
}
public void AddData(string item)
{
data.Add(item);
}
}
Startup.cs
中将DataService
注册为服务。public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSingleton();
// ...
}
DataService
。@page "/data"
@inject DataService dataService
Data:
@foreach (var item in dataService.GetData())
{
- @item
}
@code {
private string newItem;
private void AddItem()
{
dataService.AddData(newItem);
newItem = string.Empty;
}
}
在上述示例中,DataService
类包含一个名为data
的私有字段,用于存储共享数据。它提供了两个公共方法:GetData
用于获取数据,AddData
用于添加数据。
在Data
组件中,我们通过将DataService
注入为依赖项来访问共享数据。通过调用GetData
方法,我们可以获取data
列表并在组件中显示。
同时,我们还提供了一个输入框和一个按钮,用于向共享数据中添加新项。通过调用AddData
方法,我们可以将新项添加到data
列表中。
这样,无论是服务器端还是客户端发起的请求,它们都会共享相同的数据。