首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何创建一个自定义的`ErrorHandlerMiddleware`方法

    服务器端呈现的应用程序(如Razor Pages)通常希望捕获这些异常并重定向到一个错误页面。...Razor Pages应用程序的最终结果是,每当生产中发生异常时,就会返回这个Error.cshtml 的Razor 页面: ? 这涵盖了razor 页面的异常处理,但是Web API呢?...对于Web API客户端来说,这实际上还不错。您的API使用者应能够处理错误响应,因此最终用户将不会看到上面的“中断”页面。但是,它通常不是那么简单。...例如,也许您使用的是错误的标准格式,例如ProblemDetails格式。如果您的客户期望所有错误都具有该格式,那么在某些情况下生成的空响应很可能导致客户端中断。...与MVC /重新执行路径方法相比,此方法显然具有一些局限性,即您不容易获得模型绑定,内容协商,简单的序列化或本地化(取决于您的方法)。

    3K10

    ASP.NET Core Blazor 初探之 Blazor WebAssembly

    模型,这里其实可以把Api网站的Student模型提取出来,作为公共的定义模块,为了简单就直接定义一个一模一样的吧: public class Student { public..._stutdents = students; } } 这个文件大体上看跟RazorPages的页面差不多,Html主体使用razor语法渲染。...[Parameter] public Student Student { get; set; } 我们在@code代码里的属性上打上[Parameter]标签。...[Parameter] public EventCallback OnSaveCallback { get; set; } 我们在@code代码里的EventCallback事件上打上...使用List来存储学生列表信息,对外提供几个Set,Get方法来存储数据跟获取数据。这里我并没有手工实现为单例,直接在框架的容器上注册为单例生命周期。

    7.2K10

    ASP.NET Core中使用Razor视图引擎渲染视图为字符串

    一、前言   在有些项目需求上或许需要根据模板生产静态页面,那么你一样可以用Razor语法去直接解析你的页面从而把解析的页面生成静态页,这样的使用场景很多,不限于生成静态页面,视图引擎为我们提供了模型到视图的代码或文本生成的能力.../AspNetCore/YOYO.AspNetCore.ViewEngine.Razor ) 。   ...当然在MVC 4、5的时代,我们也使用过如RazorEngine这样的第三方的视图引擎,那时候MVC中的Razor与框架耦合的比较紧密,第三方开源组件帮我们实现了在任意项目中使用Razor渲染视图为文本的方式...框架早已经为我们提供了视图渲染的接口 IRazorViewEngine 通过它的FindView方法来查找视图及.cshtml文件,当然查找方法也与MVC中的视图路径规则是对应的,本来就是一个东西嘛:)...1、建立ViewModel public class MyUserViewModel { public string Name { set; get; } }   2、建立视图 @model

    2.2K40

    dotnet scaffold – .NET 的下一代内容创建

    在这种情况下,我们看到两个选项,第一个选项是创建一个新的空 Razor 页面。第二个选项将基于项目的模型类生成 Razor 页面。...使用 Entity Framework 将值保存到所选的数据库提供程序中。让我们首先运行空脚手架,然后运行 CRUD 脚手架。空脚手架将生成一个带有关联代码文件的新 Razor 页面。...现在让我们继续看看 Razor Page EF 选项的工作原理。 在调用 EF 脚手架之前,您需要一个模型类来为其搭建内容。...Email { get; set; } } 这是一个非常基本的模型类,可以与 Entity Framework 一起使用。现在我们准备调用 dotnet scaffold。...使用此页面,您可以创建新联系人并管理现有联系人。添加一些联系人后,它们将显示在此页面上,如下所示。 现在您有一个可以管理联系人列表的 ASP.NET Core Razor Pages Web 应用。

    99100

    Blazor学习之旅(9)用MudBlazor重构Todo

    ; 这里,我们以终为始,先来看看重构后的效果: (1)分页列表展示 (2)根据Todo Item Name进行搜索 (3)新增TodoItem (4)修改TodoItem (5)删除TodoItem...(5)开发通用ConfirmDialog 对于ConfirmDialog而言,它本身并没有任何逻辑,而且可以被任意页面进行复用,只是提示的消息内容不同而已。...(DialogResult.Ok(true)); void Cancel() => MudDialog.Cancel(); } 由于该页面代码很简单,我们就直接将其放在同一个razor中,不区分前后端的部分类...实际上,我们可以基于MudBlazor开发更加好看一点的界面和互动效果,这就等待你自己去探索了。 下一篇,我们学习在Blazor如何实现本地化及多语言支持。...本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

    65740

    【译】.NET 7 预览版 1 中的 ASP.NET Core 更新

    SignalR:添加对强类型客户端的支持并从客户端调用返回结果。 Razor:我们将对 Razor 编译器进行各种改进,以提高性能、弹性并促进改进的工具。...有关为 .NET 7 计划的特定 ASP.NET Core 工作的更多详细信息,请参阅 GitHub 上针对 .NET 7 的完整 ASP.NET Core 路线图。...页面中的可为空模型 在验证错误中使用 JSON 属性名称 改进了 dotnet watch 的控制台输出 将 dotnet watch 配置为始终重新启动以进行粗鲁的编辑 在 ValidationAttribute...页面中的可为空模型 我们启用了定义一个可为空的页面或视图模型来改进在 ASP.NET Core 应用中使用空状态检查时的体验: @model Product?...通过在 GitHub 上提交问题并评论路线图问题,让我们知道您的想法。 感谢您试用 ASP.NET Core!

    5.1K10

    C# 一分钟浅谈:Blazor Server 端开发

    Blazor Server 是一种基于 .NET 的 Web 开发模型,它允许开发者使用 C# 和 Razor 语法来构建交互式的 Web 应用程序。...页面加载慢问题描述:Blazor Server 应用在首次加载时可能会比较慢,尤其是在网络条件不佳的情况下。解决方案:优化初始加载:减少初始加载的数据量,可以使用懒加载或按需加载的方式。...缓存策略:合理设置缓存策略,减少不必要的请求。2. 信号丢失导致页面无响应问题描述:当客户端与服务器之间的连接中断时,页面可能会变得无响应。...-- ChildComponent.razor -->@code { [Parameter] public string Message { get; set; } [Parameter...避免方法:使用 async 和 await:确保所有异步操作都使用 async 和 await 关键字。避免阻塞主线程:尽量避免在主线程上执行耗时操作,可以使用后台任务或异步方法。

    1.1K10

    Blazor WASM 实现人民币大写转换器

    Program.cs 包含应用如何启动与承载的逻辑。 wwwroot 中的文件为纯 HTML/CSS/JS 文件,不包含.NET的逻辑。...其中 index.html 为承载应用的默认页面,和 Angular 等 SPA 框架非常类似,它将会把应用页面加载到 中。...MainLayout.razor 是整个应用的布局页面,如果你有多个页面和视图,那么通常这里会放 Header,Footer 等内容。 Index.razor 为应用的默认主页。...Index.razor 就像写 MVC 的 cshtml 一样,使用熟悉的 Razor 语法,就能绑定数据和事件。 对于 input,简单的双向数据绑定可以直接用 @bind="属性" 实现。... 和 XAML 的 MVVM 以及 Angular 稍有不同的是,处理逻辑不是在 code behind 文件里写的,而是在 razor 页面本身写

    2.8K10

    一个简单的页面加载管理类(包含加载中,加载失败,数据为空,加载成功)

    在最近公布的比赛框架中,发现了页面加载管理类,觉得挺有用的,所以做个简单的笔记。 什么是页面加载管理类呢?...我们来具体看一下实现过程 /** * 页面加载管理类,根据不同的状态显示不同的view */ public abstract class ContentPage extends FrameLayout...{ /**加载中的view*/ private View loadingView; /**加载失败的view*/ private View errorView; /**加载数据为空的view...(0),/*加载中的状态*/ STATE_SUCCESS(1),/*加载成功的状态*/ STATE_ERROR(2),/*加载失败的状态*/ STATE_EMPTY(3);/*加载数据为空的状态...List){ List list = (List) result; if(list.size()==0){ return PageState.STATE_EMPTY;/*加载数据为空

    2.2K40

    ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证

    ">RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标签的href属性上; 跟多的时候,我们会像下面这样使用锚点属性.../Index"); } }} 一般我们在OnGet方法中初始化页面需要的状态数据; 这个页面没有状态数据需要初始化,所以我们就不用做任何事情 Page()方法返回一个PageResult...对象,该对象负责渲染这个页面; Movie属性被标记了BindProperty标记,说明它是一个“模型绑定”对象; 当表单提交过来的时候,asp.net core负责把表单提交的数据,绑定到这个对象上;...表单提交之后,OnPostAsync方法被执行, 如果提交的数据,在绑定到Movie对象的过程中,产生了异常,那么Page方法会被重新执行,等于刷新了一遍页面; 大部分数据验证的工作是在客户端通过JS..." class="form-control" />会使用模型里的DataAnnotations属性,生成能作用域jQuery Validation插件的input标签;

    2K50

    .NET8 Blazor新特性 流式渲染

    首先,Razor Pages 和 MVC 没有像Blazor这样提供了很好的可重用组件。 其次,当选择 Razor Pages 或 MVC 时,我们将被固定在SSR渲染应用程序中。...什么是流式渲染 用户常遇到长耗时的处理,比如查询数据库,通常的处理方式是等长耗时处理结束,再响应给浏览器,用户体验比较差。 而流式渲染将响应拆为多次。...第一次响应很快返回客户端,并使用占位符内容快速渲染整个页面,同时执行比较耗时的异步操作。 耗时操作完成后,新的内容将使用与前一次响应相同的连接,发送到客户端,并更新到DOM中。...这样用户不需要等待耗时地操作,就可以看到一个包含占位符地页面,可以很好地改善用户体验。...体验Blazor流式渲染 Blazor中的流式渲染只需要在组件上添加指令@attribute [StreamRendering(true)]即可生成一个流式渲染组件。

    76520

    正式开始学习ASP.NET Core 6 Razor Pages 介绍

    在随后的屏幕上,选择“ ASP.NET Core Web应用程序”模板,然后单击“ 下一步”。在下一个屏幕上,为项目提供一个名称。...它很像MVC中的Razor视图文件。@page指令指定它是一个 Razor Pages 。@model指令指定模型。该模型是对应的PageModel类,如下所示。...ASP.NET Webforms与Razor Pages ASP.NET Core Razor Pages框架是一种新技术,可以通过清晰地分离关注点来更快,更高效地构建以页面为中心的Web应用程序。...ASPX页面包含HTML并控制可视部分。后台代码类包含处理页面事件的服务器端c#或可视基本代码。 例如,如果您有一个名称为WebForm1的WebForm。...因此它包含HTML和razor语法。 .cshtml.cs-包含服务器端C#代码,用于处理页面事件并提供模板所需的数据。

    5.5K10

    razorpages_rabeprazole

    打开cmd或者powershell工具,先检查下你的dotnet 版本是否为2.0.0 dotnet –version 用Visual Studio 创建是非常方便的(宇宙最强IDE),不过我们必须要先升级到...页面没有绑定任何数据,所以这里基本上只继承了PageModel,OnGet方法是个约定,查看mvc的源码你会发现它会获取On{handler}{Async}()。...比如OnGet,它会在Get Index的时候被执行,我们可以通过这个约定进行数据绑定,这里知道下在Razor Page下HttpMethod也是一个handler,所以Razor Page的处理方式是通过...@{ ViewData["Title"] = "Home page"; //你可以在Razor Page页面中设置ViewData的键值,在_Layout.cshtml模版页面中使用你设置的...是不是很方便,一般我们的web基本上百分之八十在Get和Post,特别情况会出现其他HttpMethod,当然我们的RazorPage也支持,不过不建议。

    89620

    ASP.NET Core Blazor简介和快速入门二(组件基础)

    上一章介绍了Blazor的简介,开发工具及环境,基本语法和一些示例。接下来我们继续了解Blazor 组件相关的基础知识,希望对你有所帮助。...:(1)前5种方法的声明都是virtual,除SetParametersAsync为public外,其他的都是protected。...,AfterRender.razor 示例向控制台输出以下内容:在渲染后立即进行的异步工作必须在 OnAfterRenderAsync 生命周期事件期间发生:protected override async...基本概念当你在组件上设置了属性,但这些属性没有对应的 [Parameter] 时,CaptureUnmatchedValues 可以捕获这些"未匹配"的属性,而且修饰的属性必须要是字典类型:IDictionary...首先在CascCompSample.razor页面,我们通过把CascComp1嵌套到CascadingValue里面来传递参数。

    30810
    领券