当前位置: 首页 > news >正文

bh002- Blazor hybrid / Maui 保存设置快速教程

1. 建立工程 bh002_ORM

源码

2. 添加 nuget 包

<PackageReference Include="BootstrapBlazor.WebAPI" Version="7.*" />
<PackageReference Include="FreeSql" Version="*" />
<PackageReference Include="FreeSql.Provider.SqliteCore" Version="*" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.*" />

3. 添加命名空间引用

_Imports.razor

@using BootstrapBlazor.Components

4. 添加服务

MauiProgram.cs

在 return builder.Build(); 之前加入这句

builder.Services.AddScoped<IStorage, StorageService>();

5. 添加代码后置文件 Pages/Index.razor.cs

Index.razor.cs

using BootstrapBlazor.WebAPI.Services;
using Microsoft.AspNetCore.Components;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;namespace bh002_ORM.Pages;public partial class Index
{[Inject, NotNull] protected IStorage Storage { get; set; }[DisplayName("用户名")][Required(ErrorMessage = "请输入用户名")]public string Username { get; set; }IFreeSql Fsql { get; set; }protected override async Task OnAfterRenderAsync(bool firstRender){if (firstRender){Username = await Storage.GetValue("username","");if (!string.IsNullOrEmpty(Username)){StateHasChanged();}}}async Task Login(){await Storage.SetValue("username", Username);} 
}

6. 添加 UI

Index.razor

@page "/"
<h1>Hello, @Username</h1>
用户名:
<InputText @bind-Value="Username" />
<button @onclick="Login">登录</button>

7. 执行效果

8. 添加清除按钮

Index.razor

<button @onclick="Reset">清除</button>

Index.razor.cs

    async Task Reset(){await Storage.RemoveValue("username");Username = "";}

9. 相关资料

如何远程调试 MAUI blazor / Blazor Hybrid
https://www.cnblogs.com/densen2014/p/16988516.html

下篇 bh002- Blazor hybrid / Maui 使用ORM和数据库快速教程

http://www.lryc.cn/news/138654.html

相关文章:

  • 同源政策与CORS
  • 科技资讯|三星再申请智能戒指商标,智能穿戴进入更小型化发展
  • HarmonyOS开发第一步,熟知开发工具DevEco Studio
  • 【应急响应】Linux常用基础命令
  • 什么是Pytorch?
  • Baidu World 2023,定了!
  • ProxySQL+MGR高可用搭建
  • 【Unity小技巧】在Unity中实现类似书的功能(附git源码)
  • STM32设置为I2C从机模式(HAL库版本)
  • 牛客网Verilog刷题 | 入门特别版本
  • ROS通信机制之话题(Topics)的发布与订阅以及自定义消息的实现
  • 容灾设备系统组成,容灾备份系统组成包括哪些
  • 腾讯云服务器租用价格表_一年、1个月和1小时报价明细
  • 【java安全】JNDI注入概述
  • 零基础如何使用IDEA启动前后端分离中的前端项目(Vue)?
  • laravel实现AMQP(rabbitmq)生产者以及消费者
  • LeetCode——二叉树篇(九)
  • uniapp scroll-view横向滚动无效,scroll-view子元素flex布局不生效
  • 无涯教程-进程 - 简介
  • HTML番外篇(四)-HTML5新增元素-CSS常见函数-理解浏览器前缀-BFC
  • 机器学习之Adam(Adaptive Moment Estimation)自适应学习率
  • 深入理解Linux权限管理:保护系统安全的重要措施
  • kafka复习:(20):消费者拦截器的使用
  • 水库大坝安全监测的主要内容包括哪些?
  • Cadence软件屏幕显示问题
  • 访问服务器快慢的因素
  • vue(element ui安装)
  • 基于FPGA视频接口之HDMI2.0编/解码
  • Codeforces Round #894 (Div.3)
  • MyBatid动态语句且模糊查询