- 博客(324)
- 资源 (5)
- 收藏
- 关注

原创 Blazor-表单提交的艺术:如何优雅地实现 (上)
本文介绍了Blazor中的三种表单提交方式:1) 传统HTML表单提交,使用标准HTML表单元素但会导致页面刷新;2) 交互式SSR提交,采用@bind双向绑定和@onsubmit事件处理,支持防伪令牌(AntiforgeryToken)防止CSRF攻击;3) 静态SSR提交,使用[SupplyParameterFromForm]属性绑定模型。三种方式各适用于不同场景,其中SSR方式能更好地与Blazor集成,避免页面刷新。代码示例展示了表单定义、字段绑定和提交处理的具体实现。
2025-06-06 09:29:54
864
2

原创 【Linux】Linux文件目录 特殊权限你了解吗?
linux 特殊权限SUIDSUID权限用于二进制文件中,对目录是无效的。可以使一般用户在执行二进制文件时,能暂时拥有程序所有者的权限。SUID权限只是针对用户的权限,也就是u部分下面以一个例子来测试下SUID权限:1.我们首先使用test用户来查看/root目录内容2.可以看到是无法访问/root目录的,我们通过root用户可以先查看下目前root目录的权限3.由上图看一看到权...
2020-03-10 21:34:22
1824

原创 【Linux】一篇文章快速搞懂Linux用户与用户组管理
用户(UID)在linux系统中将用户信息存储在/etc/passwd文件中,我们可以进行查看。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rkqe4X7V-1583756651670)(en-resource://database/2172:1)]以root用户为例,我们看看他的组成部分root:x:0:0:root:/root:/bin/basha????...
2020-03-09 20:24:32
1248

原创 日志框架NLog简单配置使用
NLog日志管理工具一、获得NLog这里介绍最简单的获得方式1.管理NuGet程序包2.在打开页面中搜索NLog并进行安装,安装NLog和NLog.Config3.安装成功后我们可以看到如图中的文件及引用二、配置NLog.config<?xml version="1.0" encoding="utf-8" ?><nlog xmlns=&quo
2018-10-10 11:00:36
76210

原创 WPF-StackPanel面板
StackPanelOrientation属性 Orientation属性决定SatckPanel中元素的排列方向,默认为垂直排列 Orientation=”Vertical”<Window x:Class="StackPanel.MainWindow" xmlns="http://schemas.microsoft.com/win
2018-06-05 16:37:29
9260
1

原创 String&StringBuffer类转换
一、String转化为StringBuffer类方法一:使用StringBuffer类的构造方法,public StringBuffer(String str) public class Person { public static void main(String[] args) { String str ="hello world"; String
2017-02-04 14:10:32
3324
原创 Blazor-预呈现你了解吗?
Blazor预呈现技术通过在服务器端预先渲染页面提升WebAssembly应用的加载速度和SEO优化。它支持四种模式:None(静态)、Server(交互式SSR)、WebAssembly(交互式CSR)和Auto(Server+WebAssembly),其中后三种支持预呈现。开发人员可通过@rendermode参数控制预呈现行为,如禁用(prerender:false)或启用(prerender:true)该功能。预呈现实现了从静态HTML到交互式SPA的平滑过渡,同时允许组件在Server或WebAss
2025-06-09 13:31:07
179
原创 Blazor-Ant Design of Blazor快速开始
Ant Design Blazor是一个基于Blazor的开源UI组件库,提供Ant Design风格的界面元素。它支持快速创建项目,通过dotnet模板即可生成完整的前端解决方案。安装时使用dotnet new --install AntDesign.Templates命令,创建项目时可选择是否包含全部Pro页面(-f参数)、指定托管模型(-ho)和样式类型(--styles)。示例展示了如何创建包含完整Pro页面的MyAntDesignApp项目,并成功运行web应用。该框架适合需要快速构建企业级Bla
2025-06-09 11:29:51
230
原创 Blazor-表单提交的艺术:如何优雅地实现 (下)
本文对比了Blazor框架中<EditForm>组件与原生HTML <form>的使用差异。<EditForm>通过Model属性关联数据模型,支持双向数据绑定和内置验证机制,提供OnSubmit等事件处理,无需整页刷新,优化了SPA体验。而原生<form>需要手动处理数据绑定和验证,默认会整页刷新。文章还展示了交互式SSR和静态SSR两种模式下<EditForm>的具体实现方法,包括模型绑定、表单提交和参数配置。通过功能对比,说明了<Edi
2025-06-06 13:20:18
1068
1
原创 Blazor-NavigationLock组件
组件主要用于锁定导航,在当前页面导航到内部目标 URL 之前,会执行OnBeforeInternalNavigation 事件。在 OnBeforeInternalNavigation 事件中,具有一个LocationChangingContext 类型的参数,该类型的参数与使用RegisterLocationChangingHandler()方法注册的事件处理程序中的参数类型是一样的。
2025-03-25 17:18:06
446
原创 Blazor-Navigating 组件
Navigating组件,其功能是当 Blazor 应用程序在切换页面时的中间等待界面,可能由于网络缓慢,或其他原因导致。在App.razor中设置跳转等待过程中的界面,我们做一个延时的界面看看实际的效果。我们添加了一个跳转的延时操作。
2025-03-25 17:15:45
275
原创 Blazor-组件路由事件
导航正在发生之前运行,导航还未发生转向,还未跳转到目标 URL,可在此方法注册的事件处理程序中进行拦截,可阻止导航或进一步转向。在当前页面上单击链接或通过代码执行 NavigateTo()方法都可以转向目标 URL,但要注意如下事项:(1),通过单击链接或通过代码执行NavigateTo()方法都可以转向目标 URL,并且都会触发RegisterLocationChangingHandler()方法注册的导航事件。(2) 在中,任何呈现模式的交互位置为。
2025-03-24 00:31:40
835
原创 Blazor-uri
URl的获取使用 NavigationManager 的 Uri 属性获取当前页面的URI,内容简单我们直接来上代码我们在上面的代码中获取了绝对的url和基础url绝对URL基本URL。
2025-03-06 20:12:17
284
原创 Blazor-全局路由跳转事件
OnNavigateAsync获取或设置导航到新页面之前应调用的处理程序,是发生在导航到目标 URL 之前触发的事件。(1)在浏览器的地址栏中手动输入访问页面的 URL 会触发(2) 在应用中单击链接会触发,会触发。(3) 使用NavigationManager.NavigateTo()方法以代码的方式访问页面会触发。
2025-03-06 20:03:41
482
原创 Blazor-路由模板(下)
我们这里使用{id:int}限制路由,id为int类型,并且路由参数 id 对应的 Id 属性也必须是 int 类型。我们试试能否正常访问int类型路由可以正常访问使用字符串无法访问到该路由。
2025-03-05 21:20:35
486
原创 Blazor-路由模板(上)
Blazor 的路由模板是定义应用中不同页面或组件访问路径的一种方式。通过路由模板,你可以管理应用程序的导航结构,支持基本路由、参数路由、子路由和区域路由等功能。我们为访问组件使用如这个页面我们设置了路由为/demoPage/demoPage是可以直接访问 DemoPage.razor 组件的.
2025-03-05 21:16:07
811
原创 Blazor-设置HTML元素焦点
在Blazor中,ElementReference类型的作用是提供对HTML DOM元素的引用,以便在C#代码中通过JavaScript互操作(JS Interop)操作特定元素。在Razor中设置焦点我们需要用到ElementReference类型的变量,使用@ref指令引用到设置焦点HTML的元素。在代码中elementReference我们可以理解为就是input元素,相当于dom元素一样。
2025-03-04 18:04:33
187
原创 Blazor-Navigating组件
Navigating组件,功能是当 Blazor 应用程序在切换页面时的中间等待界面,可能由于网络缓慢,或其他原因导致。在App.razor中设置跳转等待过程中的界面,我们做一个延时的界面看看实际的效果。我们添加了一个跳转的延时操作。
2025-03-04 17:54:54
183
原创 Blazor-根级别级联值
我们在Program文件中注册了三个级联值,第一个级联值为设置名称,后面两个级联值都设置了名称注意:如果我们使用的是Auto的模式,那么需要注册两次才能进行使用,组件首次访问组件,组件使用InteractiveAuto呈现模式,该模式第一次访问该组件是交互式SSR,是在服务器上运行的,获取对象来自在主项目的 Program.cs 中注册的级联值。第二次及以后访问该组件,则是在浏览器的WebAssembly 中运行的,获取的对象值来自在*.Client 项目的Program.cs 中注册的级联值。
2025-03-03 20:15:07
975
原创 Blazor-多属性赋值
我们可以使用@attributes标签对多属性值赋值进行简化,通过一个字典直接进行赋值,这个功能毕竟简单,我们直接用代码来做示例。
2025-03-03 20:11:57
331
原创 Blazor-父子组件传递任意参数
我们可以使用定义 IDictionary<string,object>类型的参数,并使用[Parameter(CaptureUnmatchedValues =true)]特性进行标注,这样在父组件中嵌套子组件时,可以任意的传递参数。在我们从父组件传参数给子组件时,可以通过子组件定义的[Parameter]特性的公开属性进行传值,但是当我们需要传递多个值的时候,就需要通过[Parameter]特性定义多个属性,有没有更简便的方式?我们通过运行结果可以看到,参数被正确的传递到了子组件。
2025-02-17 23:58:23
761
2
原创 Blazor-多属性赋值
我们可以使用@attributes标签对多属性值赋值进行简化,通过一个字典直接进行赋值,这个功能毕竟简单,我们直接用代码来做示例。
2025-02-17 23:57:20
356
原创 Blazor-设置组件焦点
在Blazor中,ElementReference类型的作用是提供对HTML DOM元素的引用,以便在C#代码中通过JavaScript互操作(JS Interop)操作特定元素。在Razor中设置焦点我们需要用到ElementReference类型的变量,使用@ref指令引用到设置焦点HTML的元素。在代码中elementReference我们可以理解为就是input元素,相当于dom元素一样。
2025-02-16 23:05:20
341
原创 ASP.NET配置文件多种方式读取
ASP.NET Core项⽬默认的配置⽂件是appsettings.json,创建项⽬时就会⾃动⽣成这个⽂ 件,我们可以将⼀些配置信息存放在这个配置⽂件中,这样做的好处是当我们修改配置⽂件 时,不在需要重启应⽤,可以实现热更新。
2025-02-13 23:02:24
352
原创 Blazor-父子组件回调方法
在组件中,要实现从父组件向子组件传值,可以在父组件中给参数属性赋值。想要达成这一效果,需要在子组件中使用[Parameter]特性,将属性定义为参数类型的属性。
2025-02-13 10:29:08
335
原创 Blazor-事件参数
在Blazor 项目中,微软对事件的事件参数进行了封装,所有的事件参数类都必须继承 EventArgs 基类。如我们不清楚当前的方法封装的事件到底是什么类型的?我们可以使用EventArgs来接收参数,之后断点查看下EventArgs的子类类型,这样就可以判断出来事件的类型。我们这里使用的是@onclick可以看到封装的类型为MouseEventArgs在 Razor 组件中,事件参数只需要在事件处理程序上定义,在调用时无需要传入任何值。
2025-02-12 20:30:00
824
原创 .NET Web-静态文件访问&&目录浏览
RequestPath参数⽤于指定静态资源的请求 路径,这⾥我们设置为StaticFiles,当我们再次去访问时,就可以通过http://localhost:527 7/StaticFiles/…MyStaticFiles是我们在项⽬中⾃定义的⽂件夹。
2025-02-12 16:25:56
764
原创 Blazor-父子组件传值
在子组件中可以使用[Parameter]特性将组件中的属性暴露出来,让调用方可以控制特性所标记的属性的值,在调用方可以直接传具体的值,也可以传变量,这里我们传入变量就可以完成父组件给子组件传值的操作,示例如下:父组件:在父组件中引用子组件我们将父组件中的字段info传入了子组件,并添加了按钮用于更新父组件中的info值。按照我们的预期,应该首先显示的info为1,点击按钮后为2初始显示:点击按钮后:结果和我们的预期一致,下来我们看看怎么子组件给父组件传值。
2025-02-11 15:49:00
1844
1
原创 Blazor-<select>
今天我们来说说<select>标签的用法,我们还是从一个示例代码开始上述代码中我们绑定了list,用于显示列表,并使用了multiple对列表进行了展开,我们看看效果可以看到数据都被展示出来了,下来我们看看其他的相关用法。
2025-02-11 00:05:30
770
3
原创 Blazor-日期字符串格式化@bind:format
在有些场景下我们可能需要绑定DateTime的数据类型,并根据我们的需要显示相应的日期格式,下来我们看看怎么设置数据的日期格式我们先不做格式化处理看看默认的格式,看可以得到如下的结果我们想只显示年月日,以-作为分割,我们对代码添加format这次我们就可以看到,日期被进行了格式化了。
2025-02-10 00:41:55
246
原创 Blazor-Get&Set
bind可以实现双向绑定,有时候我们可能需要处理一些逻辑,这时候我们可以将set和get分开来进行绑定,使用@bind:get和@bind:set来实现,进行分别处理。@bind:get指定要绑定的字段,属性@bind:set指定给字段,属性设置值的回调,绑定c#方法与@bind一致,@bind:set也默认使用onchange事件。
2025-02-10 00:08:59
411
原创 Blazor-ShouldRender
在 Blazor 中,ShouldRender 是一个用于控制组件是否需要重新渲染的方法。它是组件生命周期的一部分,主要作用是性能优化,通过跳过不必要的渲染操作来提升应用效率.我们可以重写ShouldRender方法来控制组件是否重新进行渲染。在ShouldRender()中返回false,表示组件不重新呈现。
2025-02-04 09:47:21
252
原创 Blazor-StateHasChanged
调用方法可以呈现组件UI,使用方法也会增加成本开销。在Razor组件的呈现中,大部分的方法是不需要通常情况下,Blazor会在状态变化时自动触发重新渲染,因此只有在需要显式控制重新渲染时(如异步操作或外部事件处理)才需要使用。如果在 Blazor 的生命周期方法(如或)中,框架会自动检测并调用,因此在这些地方不需要手动调用。自动呈现由ComponentBase 基类完成。需要手动调用的时机(1) 在异步处理程序中调用了多个异步方法。
2025-02-04 00:24:51
1454
3
原创 Blazor-@inject
在Razor 组件中,可以通过 @inject 指令将服务的实例注入到 Razor 组件类中。这段代码中我们注入了系统类ILogger并在构造函数中进行调用,我们来试试结果。我们发现程序报错了,注入的logger的值为空,产生了报错。在上面的过程中调用是有问题的,在Razor组件的生命周期中,在实例化组件类的过程中没有注入ILogger类型的实例,依赖性是在组件实例化完成后才可以使用,在实例化类的过程中必须要调用构造函数,所以在构造函数中不能使用依赖项。
2025-01-30 23:19:34
453
原创 Blazor-@bind
带有 value属性的标记都可以使用@bind 绑定,等非输入标记,无法使用@bind 指令的,默认绑定了 onchange 事件,onchange 事件是指在输入框中输入内容之后,当失去焦点时执行。我们用一段代码来看看@bind的作用从运行的动画可以看到,当输入框失去焦点时,会触发onchange事件,改变strName的值。
2025-01-30 21:58:29
494
java ee 6 libraries jar包
2017-09-07
Serial Port Utility
2018-08-15
Comassistant串口调试工具
2018-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人