在Blazor wasm中,UI模型和业务逻辑可以保存在两个不同的地方:客户端和服务端。
客户端: 在Blazor wasm中,客户端仅包含UI。因此,您可以使用C#来编写UI模型和业务逻辑。这些代码可以位于Blazor组件中,其中的属性可用于存储UI模型,方法可用于处理业务逻辑。
以下是保存UI模型和业务逻辑的示例:
public class MyModel
{
public string Name { get; set; }
public int Age { get; set; }
}
public partial class MyComponent : ComponentBase
{
private readonly MyModel _model = new MyModel();
private void HandleSave()
{
// Handle business logic here
}
// Use the _model property in your HTML to bind UI controls to the model
// Use the HandleSayHello method to bind to the UI event and perform business logic
}
服务端: 在Blazor wasm中,客户端连接到ASP.NET Core WebAssembly应用程序中的服务端,这意味着您可以使用与传统Web应用程序相同的方法来编写业务逻辑(例如,使用控制器、存储库等)。
以下是保存UI模型和业务逻辑的示例:
public class MyModel
{
public string Name { get; set; }
public int Age { get; set; }
}
public class MyController : ControllerBase
{
private readonly MyRepository _repository;
public MyController(MyRepository repository)
{
_repository = repository;
}
[HttpPost]
public ActionResult Save(MyModel model)
{
// Handle business logic here
_repository.Save(model);
return Ok();
}
}
public class MyRepository
{
public void Save(MyModel model)
{
// Save model to database or other storage mechanism
}
}
在此示例中,UI模型保存在MyModel实例中,业务逻辑保存在MyController中的Save方法中。保存功能最终由MyRepository完成。