代码分享:namespace listbox练习{ public partial class Form1 : Form { public static uint SND_ASYNC = 0x0001; public static uint SND_
方法一:var infos="[{"id":"2","busniessType":"2 ","quantity":"100"},{"id":"3","busniessType":"2 ","quantity":"10","amount":"10000"},{"id":"4","busniessType":"2 ","quantity":"10","amount":"10000"},{"id":"5
前言在.NET Core 中已经广泛使用异步编程,代码中充斥着大量的 async 和 await 关键字。但有时候,调用一个异步方法时可能会忘了写 await。这会造成什么问题呢?问题重现示例代码如下:[HttpGet]public async Task<IEnumerable<WeatherForecast>> Get(){ Demo(); ...}priva
前言最近,在服务器上发现Asp.Net Core经常提示如下异常,访问不了临时文件夹:可实际上,我们的代码并没有读写这个临时文件夹。看错误堆栈,应该是框架本身抛出的异常。解决方案1.组策略临时文件夹C:\Users\Administrator\AppData\Local\Temp\是肯定存在的。问题的原因主要是访问了\2\这个子目录。在网上查找原因,说是远程桌面会为每个会话创
1、向上进位取整。Math.Ceiling 例如: Math.Ceiling(3.5)=4; Math.Ceiling(3.2)=3; 2、向下舍位取整。Math.Floor 例如: Math.Floor(2.6)=2; 3、按指定位数的小数进行四舍五入。Math.Round &
DateTime ? ToString("")
可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性。通过将XML转换为PDF,能够便于文件传输及共享。本文,将介绍通过C#及VB.NET代码来实现该格式转换的方法。引入dll方法1在程序中引入Spire.Doc.dll文件;将Free Spire.Doc for .NET下载到本地,解压,找到BIN文件夹下的Spire.Doc.dll。然后在
前言上次,在“集成Tailwind CSS”时,我发现tailwind.config.js配置文件有这样一个选项:darkMode: false, // or 'media' or 'class'查看官方文档,原来这是用来启用深色模式的配置。既然深色模式几乎成了所有网站和软件的标配,那么我们Blazor也不能落后了。media方式修改tailwind.config.js:m
bUnit介绍bUnit是Blazor组件测试库。其目标是使编写全面、稳定的单位测试变得容易。有了bUnit,你可以:使用C#或Razor语法设置和定义测试下的组件使用语义HTML比较器验证结果与组件以及触发事件处理程序进行交互和检查传递参数、级联值并将服务注入测试组件模拟IJSRuntime,认证和授权等bUnit是建立在现有单元测试框架(如xUnit、NUnit和MSTest)基础上的,这些框
在上一篇文章中,我们介绍了“Blazor WebAssembly和Blazor Server的区别”。你应该注意到,两种托管模式下的counter.razor实现完全相同。这说明,同一Blazor组件既可以运行在Blazor WebAssembly模式下,也可以运行在Blazor Server模式下。从重用性上考虑,这种做法也是非常有必要的。但是,有时又需要区分Blazor组件到底在何
上次的文章中,我们介绍了Blazor WebAssembly可以部署到静态文件服务器,而每个Github账户都可以使用GitHub Pages功能开一个自己的静态网站。那么,不用花钱购买服务器,就可以将Blazor WebAssembly项目部署到GitHub Pages作为demo展示。但是,你首先要踩过5个坑!1.部署可能有不熟悉部署流程的朋友,如果你了解,可以直接跳到第2部
前言上次我们说到,FindRazorSourceFile使用有一定限制.查看它的源码,发现它仅查找以b-开头属性名的HTML元素:function getScope(element: Element): string | null { return element.getAttributeNames().filter(name => name.startsWith('b-'))
在上次的文章中,我们介绍了“Blazor WebAssembly和Blazor Server的区别”。它们各有优缺点。Blazor WebAssembly的优势在于运行期间可以和服务器无交互,但是需要长时间下载资源,而Blazor Server则首次加载速度非常快,但是必须和服务器实时通讯。如果,同一个网站,在网络环境好的情况下使用Blazor WebAssembly模式加载,而在网络环境
前言Blazor是基于组件的开发,每个组件都是以一个.razor文件形式存在。当应用程序变得越来越大并且.razor文件的数量和层次结构越来越多时,想很快弄清页面上的HTML元素是由哪个组件生成的,就变得不那么容易了!FindRazorSourceFile介绍FindRazorSourceFile可以让你的Blazor应用程序显示鼠标光标下对应的HTML元素的源.razor文件名。它支持Blazo
前段时间,写了一篇“Blazor如何集成Tailwind CSS”的文章。但是操作起来比较麻烦,又是命令行,又是要修改一大堆配置。后来,我又找到一个更简单的方法。实现方式新建Blazor项目,然后引用nuget包BamButz.MSBuild.TailwindCSS。编辑项目文件,加入TailwindCSS生成操作:<ItemGroup> <Tail
前段时间,写了一篇“Blazor如何集成Tailwind CSS”的文章。但是,使用起来有个问题——虽然Tailwind的class都是语义化的,但是实在太多了,要输入正确必须对照着官方文档来开发。我在VS Code上也找到了一个智能提示扩展,但是不知道是否我配置问题,使用起来时灵时不灵。 #yyds干货盘点#刚好,张善友向我推荐了一个基于Tailwind的Blazor组件库
从上图可以看到,实际上微软提出了两种托管Blazor应用程序的方法:Blazor WebAssemblyBlazor Server那么,它们之间有什么区别呢?现象想了解两种Blazor托管方式的简单方法,就是创建一个包含Blazor WebAssembly和Blazor Server项目的Visual Studio解决方案。项目结构两个项目的目录结构基本相似,都是基于ASP.NET Raz
Blazor默认集成了bootstrap,对于我这种后端出身,对CSS一知半解的.NET开发人员来说,使用起来还是有一定难度的。好不容易才学到点皮毛,结果前端人员居然告诉我,bootstrap已经过时了,现在主流都用Tailwind CSS。WTF!好吧,要学就学主流的,Let's GO!什么是 Tailwind CSS?按照官方(https://tailwindcs
写在前面最近,刚开始学习Blazor。对于后端出身的程序员来说,使用Blazor上手开发前端程序,门槛确实降低了不少。还在观望的朋友可以尝试入坑了。在学习和编写Blazor程序的过程中,我产生了一些想法,将会逐渐在本系列中呈现。razor文件的问题每个Blazor组件就是一个.razor文件。razor文件可以包含razor标记、HTML和C#代码。类似下面这种:@page "/counter
前言上次,我们讨论了如何通过配置或代码方式修改启动地址:《ASP.NET Core启动地址配置方法及优先级顺序》。不过是基于 .NET 5 版本的。由于 .NET 6 使用了最小 WEB API, 配置方式已经部分发生了变化。设置方法1. applicationUrl 属性launchSettings.json 文件中的 applicationUrl 属性,但是仅在本地开发计算机上使用
一、最简单的实现邮箱由三部分组成:自定义部分、@符号和域名。我们可以根据这个规则俩验证邮箱。以@符为分割条件,如果可以拆分成两个非空的字符串,那么这个字符串就是一个正确的邮箱。csharpboolIsEmail(stringstr){if(string.IsNullOrWhiteSpace(str))returnfalse;stringemial=str.Split('@');if(emial.L
前言C# 支持弃元,弃元是应用程序代码中故意未使用的占位符变量。弃元将意图传达给编译器和读取代码的其他人:你打算忽略表达式的结果。通过为变量分配下划线(_)作为其名称,可以指示变量是弃元变量。例如下列代码:if (DateTime.TryParse(dateString, out _)) Console.WriteLine($"'{dateString}': valid");那么,如
C# 取两个集合的交集\并集\差集var A= new List() { 1, 2, 3, 4, 5, 6 };var B= new List() { 3, 4, 5, 6, 7,8,9 };var C= A.Intersect(B); //交集 { 3, 4, 5, 6 }var D= A.Union(B); //并
vi /etc/ansible/ansible.cfghost_key_checking = False
域名是互联网的基础设施,只要上网就会用到。它还是一门利润丰厚的生意,所有域名每年都必须交注册费,这是很大的一笔钱。这些钱交到了哪里?到底谁控制域名的价格?为什么有的域名注册费很贵,有的便宜?…今天,我就来谈谈这些与根域名(root domain)相关的知识。一、ICANN全世界域名的最高管理
中文乱码1. 在Sublime Text里,按ctrl+`,打开Console,一次性输入如下代码:import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.r
分享一个测试好用的职业学院在线培训考试系统,可以在线学习,刷题,在线直播,在线考试,招生引流,在线支付等,还可以后台打印学习证明,功能很全面,下面有源代码和部署文件,可以根据需要二次修改,操作简单,十分推荐!功能比较多,大概说以下几点,就不都介绍了,有需要的可以下载研究 1、视频:有在线看视频功能,可下载课件,图文等2、直播:直播功能测试了,对接的七牛云接口,特别流畅,千人在线也不卡3、
随着线上教育的不断普及,学生家长教师遇到的问题也越来越多,质疑的声音也越来越大,首当其冲的就是学上线上学习的积极性和线上教学质量是否能够保证两大问题,在线变成教学也不例外。学生学习积极性一直以来都是提高教学质量的关键因素,如何提高学生学习编程的积极性,对于线上教学来讲更是不可忽略的一部分。CodeSiri智能代码研判系统相比于其他编程教育产品,不仅累积了历年计算机等级考试真题和各类编程语言数百道题