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

Razor Page,How to routing with tag helper asp.net core

Razor Pages 是 ASP.NET Core 中的一个框架,用于构建基于页面的应用程序。它提供了一种简单的方式来创建和处理网页,而不需要显式地编写控制器和视图。Tag Helper 是 Razor Pages 中的一个功能,允许开发者使用 HTML 标签来生成服务器端代码。

基础概念

Razor Pages:

  • 是 ASP.NET Core 中的一个框架,用于构建基于页面的应用程序。
  • 每个页面通常包含一个 .cshtml 文件和一个对应的 .cshtml.cs 文件(代码后置文件)。

Tag Helper:

  • 是一种帮助器,允许在 Razor 视图中使用 HTML 标签来生成服务器端代码。
  • 它们以 asp- 前缀开头,例如 asp-pageasp-route 等。

路由与 Tag Helper

在 Razor Pages 中,路由通常是通过在页面文件名和文件夹结构中定义来实现的。Tag Helper 可以帮助你在 HTML 中指定路由参数。

示例代码

假设你有一个 Razor Pages 应用程序,并且你想通过 Tag Helper 来实现路由。

  1. 创建页面: 在 Pages 文件夹下创建一个名为 Index.cshtml 的文件和一个对应的 Index.cshtml.cs 文件。
  2. 创建页面: 在 Pages 文件夹下创建一个名为 Index.cshtml 的文件和一个对应的 Index.cshtml.cs 文件。
  3. 创建页面: 在 Pages 文件夹下创建一个名为 Index.cshtml 的文件和一个对应的 Index.cshtml.cs 文件。
  4. 使用 Tag Helper 进行路由: 假设你想从一个页面导航到另一个页面,并传递一些参数。
  5. 使用 Tag Helper 进行路由: 假设你想从一个页面导航到另一个页面,并传递一些参数。
  6. 使用 Tag Helper 进行路由: 假设你想从一个页面导航到另一个页面,并传递一些参数。
  7. Index.cshtml 中使用 Tag Helper 导航到 AnotherPage:
  8. Index.cshtml 中使用 Tag Helper 导航到 AnotherPage:

优势

  • 简洁性: Tag Helper 使得在 HTML 中嵌入服务器端逻辑变得非常简单。
  • 可读性: 使用 HTML 标签而不是复杂的 Razor 语法提高了代码的可读性。
  • 易于维护: 通过直观的标签结构,代码更易于理解和维护。

应用场景

  • 表单提交: 使用 asp-actionasp-controller 标签助手来指定表单提交的控制器和动作方法。
  • 链接生成: 使用 asp-pageasp-route 标签助手来生成带有路由参数的链接。
  • 资源嵌入: 使用 asp-append-version 标签助手来为静态资源添加版本号,以便于缓存管理。

可能遇到的问题及解决方法

问题: 使用 Tag Helper 时,链接没有正确生成。

原因:

  • 可能是由于路由参数不正确或页面路径错误。
  • 可能是由于 Tag Helper 的属性拼写错误。

解决方法:

  • 检查 asp-pageasp-route 属性的值是否正确。
  • 确保页面文件路径和名称与 Tag Helper 中指定的路径一致。
  • 使用浏览器的开发者工具检查生成的 HTML 和网络请求,确认链接是否正确。

通过以上步骤和示例代码,你应该能够在 ASP.NET Core Razor Pages 中有效地使用 Tag Helper 进行路由。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

关键文件和目录结构 按照asp.net core WEB应用程序向导,创建一个工程之后 你会发现如下几个目录和文件 wwwroot:放置网站的静态文件的目录 Pages:放置razor页面的目录 appsettings.json...:是应用的配置文件 bower.json:静态资源包管理的配置文件 Program.cs:这个程序负责承载ASP.NET Core应用 Startup.cs:初始化service的配置,初始化请求管道...页面继承自PageModel类,按照约定,类名遵从[PageName]Model这样的命名方式 构造函数通过依赖注入获得数据库访问上下文实例; 关于Razor Page的页面代码 我们再来看看.cshtml...,所以不会影响运行期的执行效率; 关于page指令 @page指令使得这个页面变成了一个ASP.NET MVC的Action 这个指令必须是在Razor Page的第一个指令 关于违法访问的处理 来看看下面这行代码..."Index"; } 你可以在Razor Page页面中设置ViewData的键值,在_Layout.cshtml模版页面中使用你设置的ViewData 关于注释 在Razor Page中,用下面的方式写注释

2.6K80

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

Razor Page介绍 前言     上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为...此次的Razor Page是否能带来不一样的体验呢,让我们一起来看看吧。 什么是Razor Page     我们都知道在Asp.Net MVC中,Razor是其一种视图引擎。...要创建Razor Page,你需要先安装.Net Core 2.0 SDK,如果要使用VS2017来创建,您还必须要更新到15.3版本以上 dotnet命令方式创建 打开cmd或者powershell工具...Core –> Asp.Net Core Web应用程序,接下来会弹出一个对话框,让我们选择模板类型: ?...快速自定义Routing 你是否会问现在还支持/Controller/Action/ID 吗?

2K60
  • Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板

    Scaffolding Template Intro 我们知道在Asp.Net MVC中,如果你使用的EF的DBContext的话,你可以在vs中通过右键解决方案-添加控制器-添加包含视图的控制器,然后...vs会根据你选择的Model自动生成相应的CURD的控制器和View,非常便利,这种就叫做 ASP.NET Scaffolding Template,之前雪燕大大有过一篇介绍,有兴趣可以看看【传送门】...大家知道近期Asp.Net Core2.0发布了,微软也推出了Razor Page来作为默认的Asp.Net Core Web项目,但一开始并没有提供Scaffolding Template(后简称ST...Hello Scaffolding Razor Page Step 1 : 创建Razor Page 项目 Step 2 : 创建一个Model,在这里我们创建一个Blog实体类: public class...后面我会把用Razor Page遇到的问题总结放上来,非常看好它,相信会越来越火的。 PS:asp.net core QQ学习群:376248054 通关密码:cnblogs(无密码一律不通过)

    1.1K60

    ASP.NET Core MVC 视图

    ASP.NET Core MVC中视图的知识和ASP.NET MVC有很多相似之处,学习难度较低。以下内容主要体现了编程中模块化的思想,模块化才应是我们关注的重点。...在ASP.NET Core中默认的布局文件是位于/Views/Shared文件夹下的_Layout.cshtml文件: ?...视图(即,cshtml文件)中使用Layout属性来指定使用哪个布局文件: @{ Layout="_Layout"; } ASP.NET Core MVC搜索布局文件的方式与局部视图一样,下文中会详细说明...Helper Tag Helper可以让服务器端代码参与到在Razor文件中创建和渲染HTML元素的工作中。...小结 本文主要对ASP.NET Core中的视图部分做了简要概述,相比于文中的各种概念,我们应该把注意力放到模块化设计上。模块化、抽象思维是程序员应该掌握的两种能力。

    2.2K40

    ASP.NET Core 各版本特性简单整理

    2.0 中的新增功能 新增功能: Razor Pages ASP.NET Core 元包(注:即Microsoft.AspNetCore.All ,我喜欢称作全家桶,作用就是一把梭给你全部引用了相关的包...新增功能: 端点路由(Endpoint Routing) 健康检查(HealthCheck) HTTP/2 IIS 进程内承载 SignalR Java 客户端 CORS 改进 响应压缩(ASP.NET...-3-0/ Docs: ASP.NET Core 3.0 的新增功能 新增功能: Blazor Server Blazor WebAssembly Razor 组件 gRPC ASP.NET Core.../asp-net-core-updates-in-net-core-3-1/ Docs: ASP.NET Core 3.1 的新增功能 新增功能: Razor 组件的分部类支持 HTTP.sys...Core 5.0 的新增功能 新增功能: ASP.NET Core MVC 和 Razor 改进 OpenAPI 规范默认开启 Blazor 性能改进、增加组件 gRPC 性能改进

    3.4K20

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

    前文索引: ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: page="/Index" class="navbar-brand...">RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标签的href属性上; 跟多的时候,我们会像下面这样使用锚点属性...对象,该对象负责渲染这个页面; Movie属性被标记了BindProperty标记,说明它是一个“模型绑定”对象; 当表单提交过来的时候,asp.net core负责把表单提交的数据,绑定到这个对象上;...表单提交之后,OnPostAsync方法被执行, 如果提交的数据,在绑定到Movie对象的过程中,产生了异常,那么Page方法会被重新执行,等于刷新了一遍页面; 大部分数据验证的工作是在客户端通过JS...Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}}  在razor

    1.6K50

    Asp.Net Core 中的环境变量-14

    Asp.Net Core 中的环境变量 在本视频中,我们将讨论使用环境变量配置 asp.net Core 应用程序。 软件开发环境在大多数软件开发组织中,我们通常具有以下开发环境。...那么,ASP.NET Core 也支持这些自定义环境。例如,要检查环境是否为 UAT,请使用 IsEnvironment()方法,如下所示。...Helpers 是 ASP.NET Core 中的新功能。...在一个 Razor 视图里面,也可以在.CSHTML 页面中进行使用,称为环境标记助手。 此环境标记帮助程序支持根据ASPNETCORE_ENVIRONMENT变量的值呈现不同的内容。...在我们学习本课程并为我们的应用程序创建模型,视图和控制器时,我们将详细讨论 Tag Helpers,包括环境标记助手(Environment Tag Helper)。

    1.9K30

    Asp.net mvc 知多少(三)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。...最初,ASP.mvc只有一种视图引擎web forms(aspx) ,从ASP.NET MVC3 引入了新的Razor视图引擎。除此之外,还有 Spark, NHaml 等第三方视图引擎。 Q26....介绍下Razor视图引擎? Ans. Razor引擎是从MVC3引入的一种高级视图引擎。Razor不是一种新的语言而是一种新的标记语义。 Razor提供的语义减少用户输入且富于表现力。...主要有三种Html Helpers: 1、** Inline Html Helpers **- 通过Razor@helper标签创建的帮助类,只能在同一个view中使用。...to C", "how to C++", "how to C#" }) 2、 Built-In Html Helpers - Built-In Html Helpers 是针对HtmlHelper的扩展方法

    2.3K60
    领券