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

网站开发研究论文太原论坛2021

网站开发研究论文,太原论坛2021,怎样制作网站后台,西安高端网站开发Blazor 基础知识IntroBlazor 是微软在 .NET 里推出的一个 WEB 客户端 UI 交互的框架#xff0c;使用 Blazor 你可以代替 JavaScript 来实现自己的页面交互逻辑#xff0c;可以很大程度上进行 C# 代码的复用#xff0c;Blazor 对于 .NET 开发人员来说是一个不错的选择。托管模… Blazor 基础知识IntroBlazor 是微软在 .NET 里推出的一个 WEB 客户端 UI 交互的框架使用 Blazor 你可以代替 JavaScript 来实现自己的页面交互逻辑可以很大程度上进行 C# 代码的复用Blazor 对于 .NET 开发人员来说是一个不错的选择。托管模型Blazor 有两种托管模式一种是 Blazor Server 模式基于 asp.net core 部署客户端和服务器的交互通过 SignalR 来完成来实现客户端 UI 的更新和行为的交互。Blazor Server runs .NET code on the server and interacts with the Document Object Model on the client over a SignalR connectionBlazor Server另外一种是 Blazor WebAssembly 模式 将 Blazor 应用、其依赖项以及 .NET 运行时下载到浏览器 应用将在浏览器线程中直接执行。Blazor WebAssembly runs .NET code in the browser with WebAssembly.Blazor WebAssembly两种模式各有优缺点但是个人觉得 WebAssembly 模式的 Blazor 意义更大一些Blazor Server 托管模型具有以下优点下载项大小明显小于 Blazor WebAssembly 应用且应用加载速度快得多。应用可充分利用服务器功能包括使用任何与 .NET Core 兼容的 API。服务器上的 .NET Core 用于运行应用因此调试等现有 .NET 工具可按预期正常工作。支持瘦客户端。例如Blazor Server 应用适用于不支持 WebAssembly 的浏览器以及资源受限的设备。应用的 .NET/C# 代码库其中包括应用的组件代码不适用于客户端。Blazor Server 托管模型具有以下局限性通常延迟较高。每次用户交互都涉及到网络跃点。不支持脱机工作。如果客户端连接失败应用会停止工作。如果具有多名用户则应用扩缩性存在挑战。服务器必须管理多个客户端连接并处理客户端状态(SignalR)。需要 ASP.NET Core 服务器为应用提供服务。无服务器部署方案不可行例如通过内容分发网络 (CDN) 为应用提供服务的方案。Blazor WebAssembly 托管模型具有以下优点没有 .NET 服务器端依赖应用下载到客户端后即可正常运行。可充分利用客户端资源和功能。工作可从服务器转移到客户端。无需 ASP.NET Core Web 服务器即可托管应用。无服务器部署方案可行例如通过内容分发网络 (CDN) 为应用提供服务的方案。Blazor WebAssembly 托管模型具有以下局限性应用仅可使用浏览器功能。需要可用的客户端硬件和软件例如 WebAssembly 支持。下载项大小较大应用加载耗时较长。.NET 运行时和工具支持不够完善。例如.NET Standard 支持和调试方面存在限制。项目结构Blazor 结合了 Razor Page 的开发模式可以使用 Razor 的语法文件结构也和 Razor Page 的模式有些类似Blazor 是以组件为核心的页面所有的部分都是一个组件Blazor WebAssembly 对应的 SDK 是 Microsoft.NET.Sdk.BlazorWebAssembly来看一下具体的项目文件Project SdkMicrosoft.NET.Sdk.BlazorWebAssemblyPropertyGroupTargetFrameworknet6.0/TargetFramework/PropertyGroupItemGroupPackageReference IncludeMicrosoft.AspNetCore.Components.WebAssembly Version6.0.0-preview.4.21253.5 /PackageReference IncludeMicrosoft.AspNetCore.Components.WebAssembly.DevServer Version6.0.0-preview.4.21253.5 PrivateAssetsall //ItemGroup/Project project-structureApp.razor: Blazor WebAssembly 应用根组件Program.cs: 配置应用 WebAssembly host 的入口文件_Imports.razor: 和 Razor Page 一样可以在这里定义一些 Razor Page 或者组件里公用的 namespacePages包含可以路由到的页面page 需要使用 page 指令指定Shared包含一些公共的组件或者样式定义wwwroot: 应用公共静态文件的根目录Routing在页面组件上通过 page 指令指定页面路由 page /path就会生成一个 RouteAttribute 以支持路由路由支持像 asp.net core 一样的路由约束和 Path 参数page /RouteParameter/{text}h1Blazor is Text!/h1code {[Parameter]public string Text { get; set; } } page /RouteParameter/{text?}h1Blazor is Text!/h1code {[Parameter]public string Text { get; set; }protected override void OnInitialized(){Text Text ?? fantastic;} } page /user/{Id:int}h1User Id: Id/h1code {[Parameter]public int Id { get; set; } } Catch-allpage /catch-all/{*pageRoute}code {[Parameter]public string PageRoute { get; set; } } InteropModel Binding最基本的我们需要了解如何做数据绑定divinput typecheckbox checkeditem.IsCompleted /h4item.TodoTitle/h4 -- span classsmallitem.CreatedTime.ToStandardTimeString()/span /div div classtodo-item-detailspitem.TodoContent/p /div code {public ListTodoItem TodoItems { get; private set; }protected override async Task OnInitializedAsync(){TodoItems  await scheduler.GetAllTasks();await base.OnInitializedAsync();} } Event Binding在现在的 Blazor 里事件绑定是偏向于使用原生的事件名比如按钮的事件通过 onclick 方式来绑定事件例如下面的示例button onclickAddNewTodo classbtn btn-infoAdd new todo/button 为 button 指定了一个 onclick 事件处理器Call JS method执行 JS 方法有时候是不可缺少的一部分因为很多组件都是 JS 的借助于此我们就可以直接调用  JS 的方法来实现一些组件功能示例如下分是否有返回值可以分为两类With return valueinject IJSRuntime JS code {private MarkupString text;private async Task ConvertArray(){text  new(await JS.InvokeAsyncstring(convertArray, quoteArray));} } Without return valueinject IJSRuntime JS code {private Random r  new();private string stockSymbol;private decimal price;private async Task SetStock(){stockSymbol  ${(char)(A  r.Next(0, 26))}{(char)(A  r.Next(0, 26))};price  r.Next(1, 101);await JS.InvokeVoidAsync(displayTickerAlert1, stockSymbol, price);} } More更多关于 Blazor 相关的知识可以参考微软的文档Referenceshttps://docs.microsoft.com/en-us/aspnet/core/blazor/?viewaspnetcore-5.0https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?viewaspnetcore-5.0https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing?viewaspnetcore-5.0https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/call-javascript-from-dotnet?viewaspnetcore-5.0https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/call-dotnet-from-javascript?viewaspnetcore-5.0https://docs.microsoft.com/en-us/dotnet/api/microsoft.jsinterop.ijsruntime?viewdotnet-plat-ext-6.0
http://www.huolong8.cn/news/114299/

相关文章:

  • cms建站平台本地服务类网站成本
  • 整站优化系统网站建设详细流程
  • 山东住房和城乡建设厅网站主页为什么做网站都用php
  • 网站建设与制作dw8教程建设银行网站个人客户
  • 个人网站域名选择百度免费网站如何建设
  • 湖南网站建设seo怎么看深圳网站页面设计
  • 怎样做网站用html哪里可以学网站建设
  • 湖北高端网站建设价格外贸的推广平台
  • 如何做网站专题企业运营过程中具有控制职能的环节是
  • 网站的设计方案wordpress首页html代码
  • 网站推广策划书模板网页剪辑app
  • wordpress 全站静态襄阳网站seo诊断
  • 女的男的做那个视频网站服务器连接wordpress
  • 做自己视频教程的网站网络技术培训内容
  • 艾臣网站建设seo的理解
  • 论文网站建设方案模板网点地址信息获取错误:抖音默认地址未设置!
  • 网站上线流程网站建设中的推广工作
  • 网站开发人员没有按照设计开发二建查询官网入口
  • 贸易网站设计台州最新消息今天最新动态
  • 酒泉北京网站建设互联网高端官网
  • 徐州市城乡建设局官方网站酒店预定网站建设方案
  • 哪个浏览器可以看禁止访问的网站动漫设计师发展前景
  • 高端网站设计电话重庆装修公司大全
  • 品牌网站建设搭建创建网站需要什么技术
  • 网站制作软件叫什么佛山网站哪家最专业
  • 品牌排名网站深圳企业名录深圳黄页
  • 网站建设到一半想换一家网站开发微信支付详细教程
  • 公司网站域名com好还是cn好一个人建设小型网站
  • 广东省路桥建设发展有限公司网站建设工程监理考试网站
  • 公司网站用什么系统最专业的seo公司