首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Core教程【一】关于Razor Page的知识

关键文件和目录结构 按照asp.net core WEB应用程序向导,创建一个工程之后 你会发现如下几个目录和文件 wwwroot:放置网站的静态文件的目录 Pages:放置razor页面的目录 appsettings.json...Razor页面的PageModel类 好,我们现在看看怎么通过数据库上下文把数据从数据库中拿出来 在Pages目录下,创建一个Razor页面 在相应的cshtml.cs文件中,撰写如下代码: using...引擎可以把上面这些HTML代码转成C#代码或者转成Razor过度代码; 当一个 @ 符号后面跟的是Razor保留关键字的话,他会被转义成Razor过度代码,否则会被转义成C#代码; 这是在编译期完成的工作...这个指令使得cshtml.cs文件中的IndexModel类,在这个Razor Page中有效 关于ViewData @page @model RazorPagesMovie.Pages.Movies.IndexModel...= "_Layout"; } 注意,在这里我们并没有详细讲链接标签asp-page=".

2.5K80
您找到你想要的搜索结果了吗?
是的
没有找到

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

前文索引: ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标签的href属性上; 跟多的时候,我们会像下面这样使用锚点属性...,绑定到这个对象上; 表单提交之后,OnPostAsync方法被执行, 如果提交的数据,在绑定到Movie对象的过程中,产生了异常,那么Page方法会被重新执行,等于刷新了一遍页面; 大部分数据验证的工作是在客户端通过...JS完成的 但是我们也不能完全依赖JS(防止模拟浏览,恶意提交) 客户端提交上来了一个表单域是一个日期字符串,在绑定到对象属性的时候,可能产生异常,如果产生了异常,ModelState.IsValid...page中也是一个特殊标签, 这个标签会自动添加一个反伪造令牌,用于防止跨站脚本攻击; asp-validation-summary和asp-validation-for都是用于显示客户端验证的失败信息的

1.6K50

ASP.NET Core教程【三】实体字段属性、链接标签、并发数据异常、文件上传及读取

前文索引: ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证 ASP.NET Core教程【一】关于Razor Page的知识 实体字段属性 再来看看我们的实体类...Movie.Title" class="control-label"> 这里就会显示Display属性指定的名字; DataType属性标志这个字段是什么类型的; 上一章中我们说到的,数据类型的验证工作...在上一篇文章中我们简单说了一下链接标签,再来看第一章中提到的这个场景: Edit <a asp-page="....如果这个时候你请求这个地址: http://localhost:5000/Movies/Details 并没有传入ID的值,那么服务会返回404, 如果你的设计是希望ID是一个可选的传入参数,那么你可以把

1.6K60

asp.net core 系列之用户认证(1)-给项目添加 Identity

Update-Database CreateIdentitySchema这个名字可以自己随意取,但是最好能做到见名知义,知道做了哪些迁移 之后,可以自己打开vs上的sql server 对象资源管理查看数据库和表是否生成成功...Identity/Account/Login 这里应该使用的是一种约定优先的路由方式, 这块之后可能会给出一篇讲解,这里先知道怎么找路由路径即可 注意,下面几个与第一个类似,就不再给出详细图示,可以自己步骤操作...,如果有需要,后面再补充 把Identity基架添加到一个 不存在 认证(authentication)的 Razor项目 1.首先,准备一个项目中原来不带认证的Razor项目 2.把Identity..."> @RenderSection("Scripts", required: false) 然后,把 Pages...首先准备一个项目中原本存在认证(authentication)的MVC项目 2.把Identity基架添加到项目中 在项目上右键,添加->新搭建基架的项目 标识->添加 选择功能文件(类似登录,登出等),添加 删除 Pages

1.1K10

Dotnet9网站回归Blazor重构,访问速度飞快,交互也更便利了!

先聊聊Razor Pages 上个版本网站前台使用的Razor Pages开发,当时选择这个技术栈主要是为了搜索引擎的SEO优化考虑。...关于MVC和Razor Pages哪个更优, 我们这里只说说Razor Pages相对的优势。 首先,Razor Pages相对于MVC来说,更加简单和直观。...对于小型项目或者只有少量页面的应用来说,Razor Pages可以提供更快的开发速度和更简洁的代码结构,这是站长当时从MVC重构成Razor Pages的主要选择理由。...中添加了Razor 组件尝试,微软确实牛逼,旨在使 Blazor 组件能够满足客户端和服务端的所有 Web UI 需求。。...但目前该模式Razor组件无法交互,页面还出现了重连置灰UI,索性直接用Blazor Server重构,经过几天的奋战,网站前台已经用Blazor Server完全替换Razor Pages,烦人的重连也解决了

39130

重学ASP.NET Core 中的标记帮助程序

标记帮助程序是什么 标记帮助程序使服务端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。 例如,内置的 ImageTagHelper 可以将版本号追加到图片名称。  ...在这种情况下,视图文件是_pages/ViewImports,默认情况下,它由_pages_文件夹和子文件夹中的所有文件继承,这使得标记帮助程序可用。 ...span> 说明: 须将标记帮助程序选择退出字符应用于开始和结束标记。 (将选择退出字符添加到开始标记时,Visual Studio 编辑会自动为结束标记添加相应字符)。 ...通过 IntelliSense 语句完成功能, Tab 键即可用选择的值完成语句: ? 只要输入标记帮助程序属性,标记和属性字体就会更改。...接下来然我们在Razor页面上应用此标记帮助程序吧。

2.8K10

.NET Core 学习资料精选:入门

ASP.NET Core 中的 URL 重写中间件 依赖注入(IOC、DI) 什么是控制反转,和依赖注入: 控制反转的意思就是:平常我们需要一个类对象的时候需要new出来,而现在我们把new一个类对象的工作交给了...、名称、按键 Asp.Net Core 2.0 之旅---AutoFacIOC容器的使用教程 Asp.Net Core 2.0 之旅---AutoFac仓储泛型的依赖注入(泛型注入) Asp.Net...否则Controller下面无法使用属性注入) // 在 services.AddMvc() 之前 services.Replace(ServiceDescriptor.Transient...ASP.NET Core:MVC 与 Razor Pages ASP.NET Core SignalR 入门 ASP.NET Core MVC 静态文件目录配置与访问授权 新的 Razor 机制 ASP.NET...& MVC & Razor Pages [译]ASP.NET:WebForms vs MVC ASP.NET Core Razor页面 vs MVC [译]ASP.Net Core 2.0中的Razor

3.8K20

全面的ASP.NET Core Blazor简介和快速入门

目前仅支持最新版本的浏览:虽然 Blazor 支持各种主流浏览,但由于涉及到 WebAssembly 和其他新技术,一些旧版浏览可能无法完全支持 Blazor 应用程序。...应用可以充分利用服务功能,包括对 .NET Core API 的使用。 服务上的 .NET Core 用于运行应用,因此调试等现有 .NET 工具可按预期正常工作。 支持瘦客户端。...不支持脱机工作。 如果客户端连接失败,应用会停止工作。 若要缩放具有许多用户的应用,需要使用服务资源处理多个客户端连接和客户端状态。 需要 ASP.NET Core 服务为应用提供服务。...在 Razor 中,可使用相同的机制来创建包含附加内容的 HTML 帮助程序。...App.razor 为应用的根组件。 Pages 存放应用程序的 Razor 页面,每个 Razor 页面都对应着一个组件,用于呈现应用程序的 UI 元素。

83120

asp.net core 系列之Reponse caching 之 Response Caching Middleware(4)

任何其他的responses,包括error pages(错误页),都会被中间件忽视。 警告:包含认证客户端的Responses必须被标记为不可缓存来防止中间件存储和提供那些响应。...Razor Pages page models,这些ResponseCache属性会指定必要的参数,来为response caching设置合适的头....目前,开发者无法控制缓存行为,当使用中间件时;因为中间件依附于官方的缓存说明书。...七.Troubleshooting(发现并解决故障) 如果缓存行为没预期进行,确认 响应是可缓存的和缓存提供的功能。 检查请求进入时的头部和响应出去时的头部。允许记录日志来帮助调试。...当测试和troubleshooting缓存行为时,浏览可能会以不合需的方式设置请求头并影响到缓存。

69210

Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page

跟之前mvc不同的是,我们不再看到model,view,controller目录了,取而代之的是Pages目录,这个就是我们的razor Page的主要工作目录。...我们在这里无法找到Razor Page,那是因为Razor Page已经变成默认的【Web应用程序模板】了,而传统的MVC方式已经变成【Web应用程序(模型视图控制)】。...上文中我们说到,Razor Page的项目中,我们的关注点都在Pages目录下,在VS Explore中,我们看到在Index.cshtml的左边有一个三角箭头,点击就会看到Index.cshtml.cs...写在最后     最近工作有点忙,Core2.0的出现使Net圈沸腾了,RazorPage的出现更是让我们这种web开发者为之振奋,今天介绍的有限,毕竟也是刚出来的东西。...个人觉得Razor Page还是非常棒的,虽然还有些问题,如果遇到Razor Page无法解决的事情,请大家结合MVC,国外有大神就是这么做的,但我相信不久之后,Razor Page会疯狂出现在我们面前

2K60

Day 04 Compoent及路由介紹

首先既然Component是可以重复利用的,我们在Index.razor放上两个Counter,启动项目(如果不想完整调试,可以ctrl+F5,就会启动不调试模式,启动速度比较快,而且每次储存文件,Blazor...打开MainLayout.razor,可以看到NavMenu元素,再打开NavMenu.razor,可以看到三个NavLink Component,这些Component会被Server翻译为浏览认识的...左侧菜单 左侧菜单在html呈现为a标签1 左侧菜单在html呈现为a标签2 回到MainLayout.razor,可以看到@Body指示词,这就是其他Component会放置的地方,可以说是种placeholder...Layout.cshtml大致相等,以及缺少了appsettings.json文件,通常会将程序跟数据库连接需要的连线字串放在这个文件,可证Blazor WebAssemlby确实只是被动接收数据,而无法主动跟数据库连接...,笔者曾试过在这里引用EF Core,也是无法让Blazor WebAssemlby接触数据库,在.NET Framework的世界是用XML格式的web.config,在.NET Core则改用JSON

1.3K30

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

我们基于Blazor实现了一个简单版的Todo应用,它的效果如下: (1)加载Todo列表 (2)添加新的Todo事项 可以看到,它仅仅实现了最基本的效果,但是如果涉及到分页、修改等操作,现有的界面就无法满足了...先来看看重构后的效果: (1)分页列表展示 (2)根据Todo Item Name进行搜索 (3)新增TodoItem (4)修改TodoItem (5)删除TodoItem Todo V2重构 (1)准备工作...aria-hidden="true">Todo v2 (2)重构Todo列表页 在Pages...目录下新增一个razor组件:TodoV2.razor,代码如下: @page "/todov2" @using EDT.Todo.Application.Models.VO Todo...(3)开发CreateTodoDialog 在CreateTodoDialog中,使用到了DialogContext 和 MudForm两个重要的标签,以很少的代码实现了一个原本需要用JS实现的对话框。

25840
领券