C#怎么使用ASP.NET Core Razor Pages进行Razor页面开发

来源:菜鸟站长作者:星宫一花头衔:网络博主
导读:本期聚焦于小伙伴创作的《C#怎么使用ASP.NET Core Razor Pages进行Razor页面开发》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《C#怎么使用ASP.NET Core Razor Pages进行Razor页面开发》有用,将其分享出去将是对创作者最好的鼓励。

ASP.NET Core Razor Pages基础介绍

ASP.NET Core Razor Pages是ASP.NET Core框架中用于构建网页应用的一种轻量级编程模型,它基于页面驱动的开发模式,将页面的视图和逻辑代码绑定在同一个页面的关联文件中,相比传统的MVC模式,开发流程更简洁,适合快速构建中小型网页应用。在C#环境下使用Razor Pages开发,开发者不需要单独拆分控制器和视图,降低了入门的学习成本。

环境准备

在开始开发之前,需要先完成开发环境的配置。首先确保本地安装了.NET SDK,建议选择较新的长期支持版本。安装完成后,打开命令行工具,执行以下命令创建Razor Pages项目:

# 创建ASP.NET Core Razor Pages项目
dotnet new webapp -o RazorPagesDemo
# 进入项目目录
cd RazorPagesDemo
# 运行项目
dotnet run

项目创建完成后,可以看到默认的目录结构,其中Pages文件夹是存放Razor页面的核心目录,每个页面由.cshtml视图文件和对应的.cshtml.cs页面模型文件组成。

创建第一个Razor页面

我们可以在Pages目录下新建一个自定义页面,比如创建一个名为Hello的页面。首先在Pages文件夹下添加Hello.cshtml文件,内容如下:

@page
@model RazorPagesDemo.Pages.HelloModel
<h2>欢迎来到Razor页面</h2>
<p>当前时间:@DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")</p>

同时需要创建对应的Hello.cshtml.cs页面模型文件,代码如下:

using Microsoft.AspNetCore.Mvc.RazorPages;

namespace RazorPagesDemo.Pages
{
    public class HelloModel : PageModel
    {
        public void OnGet()
        {
            // 页面GET请求处理逻辑
        }
    }
}

运行项目后,访问/Hello路径就可以看到页面展示的内容,其中@page指令标识这是一个Razor页面,@model指令指定当前页面对应的页面模型类。

Razor页面数据绑定

Razor Pages支持多种数据绑定方式,最常用的的是属性绑定。我们可以在页面模型中定义公共属性,通过[BindProperty]特性标记,实现页面和模型之间的数据传递。以下是一个简单的表单提交示例:

首先修改Hello.cshtml.cs文件,添加绑定属性和处理方法:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace RazorPagesDemo.Pages
{
    public class HelloModel : PageModel
    {
        [BindProperty]
        public string UserName { get; set; }

        public string Message { get; set; }

        public void OnGet()
        {
        }

        public IActionResult OnPost()
        {
            if (!string.IsNullOrEmpty(UserName))
            {
                Message = $"你好,{UserName},欢迎学习Razor Pages开发";
            }
            else
            {
                Message = "请输入用户名";
            }
            return Page();
        }
    }
}

然后修改Hello.cshtml文件,添加表单内容:

@page
@model RazorPagesDemo.Pages.HelloModel
<h2>用户信息提交</h2>
<form method="post">
    <div>
        <label>用户名:</label>
        <input asp-for="UserName" />
    </div>
    <button type="submit">提交</button>
</form>
@if (!string.IsNullOrEmpty(Model.Message))
{
    <p>@Model.Message</p>
}

在这个示例中,表单提交后会将UserName属性的值传递到页面模型的OnPost方法中,处理完成后返回到当前页面,展示对应的提示信息。

常见问题解决

  • 页面访问404:检查.cshtml文件是否添加了@page指令,同时确认访问的路径和文件名匹配,区分大小写。
  • 数据绑定失败:确认属性是否添加了[BindProperty]特性,同时表单元素的name属性和模型属性名一致。
  • 页面模型找不到:检查.cshtml文件中@model指令指定的命名空间和类名是否正确,和.cshtml.cs文件中的类定义匹配。

总结

ASP.NET Core Razor Pages为C#开发者提供了一种简洁高效的页面开发方式,通过页面和模型文件的关联,让开发逻辑更清晰。入门阶段只要掌握项目创建、页面结构、数据绑定这几个核心知识点,就可以完成大部分基础页面的开发。后续还可以进一步学习Razor语法、路由配置、依赖注入等进阶内容,提升开发能力。

ASP.NET_Core_Razor_PagesC#Razor页面开发页面模型修改时间:2026-06-22 17:51:56

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。