当前位置: 首页 > 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://wiki.neutronadmin.com/news/114299/

相关文章:

  • 如何用txt做网站时增加照片网站代码需要注意什么问题吗
  • 佛山网站制作哪家好躺平设计家官网
  • 怎样在建立公司网站淄博营销网站建设服务
  • 网站建设与维护中职淄博seo定制
  • icp备案网站管理员有负责吗惠州网站建设技术外包
  • 电影微网站开发京东网址
  • 莆田免费建站模板微信推广引流方法
  • 网站推广营销怎么做软件界面设计工具免费
  • 澄迈网站新闻建设专做农产品的网站有哪些
  • 针对网站做的推广方案建设银行网站能买手机
  • 穷游网站 做行程 封面电子商城网站建设参考文献
  • 文件包上传的网站怎么做雅安市政建设公司网站
  • 免费精品网站模板哪些网站做婚纱摄影
  • 做可动模型的网站鹿泉外贸网站建设
  • 商务网站设计与制作网站做好了怎么做后台管理
  • 身无分文一天赚2000seo单页快速排名
  • 莱芜市网站建设公司微信上浏览自己做的网站
  • 做互联网网站赚钱吗手机网站有什么要求
  • 建设局网站查询小米路由器3 做网站
  • 网站是否wordpress广东十大网站建设品牌
  • 素材最多的网站推荐做素菜的网站
  • 怎么样免费做自己的网站成都优化官网推广
  • 网站上的html内容怎么修改wordpress 网站显示ip
  • 关于微网站策划ppt怎么做网上美工培训
  • 广州网站建设模板制作做摘抄的网站
  • 网站首页线框图怎么做学做网站要编程
  • 网站有二级域名做竞价厦门网上房地产官网查询
  • 有没有网站教做美食的wordpress更改首页代码
  • 网站建设公司的年报大门户wordpress主题门户新闻
  • 做网站公司宁波天眼查企业查询官网网页版