ASP .NET Razor
Razor 是一种标记语法可以让您将基于服务器的代码Visual Basic 和 C#嵌入到网页中。基于服务器的代码可以在网页传送给浏览器时创建动态 Web 内容。当一个网页被请求时服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行代码能执行复杂的任务比如进入数据库。Razor 是基于 ASP.NET 的是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能但更容易使用并且更容易学习。简单说前后端在一起。在web api的基础上多了网页。创建项目安装模版如果没有dotnet new install Furion.Template.RazorWithWebApi查看C:\Users\aarons.chendotnet new list Furion這些範本符合您的輸入: Furion範本名稱 簡短名稱 語言 標記---------------------------------------- ------------------ ---- ---------------------------------Furion Api furionapi [C#] Furion/WebApi/Api/RESTful/SwaggerFurion Razor With WebApi furionrazorapi [C#] Furion/Razor/Pages/WebApi/Api创建dotnet new furionrazorapi -n 你的项目名称打开运行用vs打开点运行这是自带的。编写你的代码节省时间先把web api写好代码参考Web API C# (Furion版带 单元测试-CSDN博客项目结构和之前的web api结构一样只是在web.entry中多了Pages文件夹里面就是放你显示的网页。以例子为例User是我新建的直接看原本的Index.cshtml和Index.cshtml.csIndex.cshtml 和 Index.cshtml.cs 是 Razor Pages 的“一对”文件一个负责显示前端一个负责逻辑后端。比如前端点击按钮就会执行后端的代码而这后端代码有可以直接执行 业务逻辑EmployeeService的代码这样就不用访问api了当然你也可以访问api的写法去做。编写页面新建一个user文件夹里面写一个indexIndex.cshtmlpage model FurionRazorApi.Web.Entry.Pages.User.IndexModel { } h1员工管理/h1 h3新增员工/h3 form methodpost asp-page-handlerAdd div classrow div classcol-md-3 input typetext nameNewEmployee.Name classform-control placeholder姓名 required / /div div classcol-md-2 input typenumber nameNewEmployee.Age classform-control placeholder年龄 / /div div classcol-md-3 input typetext nameNewEmployee.Dept classform-control placeholder部门 / /div div classcol-md-2 button typesubmit classbtn btn-success新增员工/button /div /div /form hr / !-- 按钮提交表单触发 OnPost -- form methodpost button typesubmit classbtn btn-primary加载所有员工/button /form !-- 只有点击按钮后才显示表格 -- if (Model.HasData) { if (Model.EmployeeList ! null Model.EmployeeList.Any()) // ← 改成 EmployeeList { table classtable table-bordered table-striped thead tr thID/th th姓名/th th年龄/th th部门/th /tr /thead tbody foreach (var item in Model.EmployeeList) // ← 改成 EmployeeList { tr tditem.Id/td tditem.Name/td tditem.Age/td tditem.Dept/td /tr } /tbody /table } else { p暂无员工数据/p } }Index.cshtml.csusing FurionRazorApi.Application; using FurionRazorApi.Core.Models; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace FurionRazorApi.Web.Entry.Pages.User { public class IndexModel : PageModel { private readonly IEmployeeService _employeeService; public ListEmployeeDto EmployeeList { get; set; } public string Message { get; set; } public bool HasData { get; set; } [BindProperty] public EmployeeDto NewEmployee { get; set; } public IndexModel(IEmployeeService employeeService) { _employeeService employeeService; } // 页面加载时显示空白 public void OnGet() { EmployeeList new ListEmployeeDto(); HasData false; Message 点击按钮加载员工数据; } // 点击按钮时加载所有员工 public async Task OnPost() { EmployeeList await _employeeService.GetEmoloyeesAsync(); HasData true; Message $共 {EmployeeList?.Count ?? 0} 名员工; } public async Task OnPostAdd() { if (string.IsNullOrWhiteSpace(NewEmployee?.Name)) { Message ❌ 员工姓名不能为空; EmployeeList await _employeeService.GetEmoloyeesAsync(); HasData true; return; } var success await _employeeService.CreateEmployeeAsync(NewEmployee); if (success!0) { Message $✅ 员工 {NewEmployee.Name} 添加成功; NewEmployee new EmployeeDto(); // 清空表单 } else { Message ❌ 添加失败; } EmployeeList await _employeeService.GetEmoloyeesAsync(); HasData true; } } }运行

相关新闻

AI开发中的测试驱动:TPDD方法构建稳定智能应用

AI开发中的测试驱动:TPDD方法构建稳定智能应用

1. 项目概述:从“盲盒”到“闭环”的必然演进在AI应用开发如火如荼的今天,一个普遍的现象是:很多团队正陷入一种我称之为“盲盒编程”的困境。你投入大量资源训练或微调了一个模型,精心设计了Prompt,满怀期待地部署上线…

2026/8/6 8:46:10 阅读更多 →
2026年B端抖音运营公司评测:制造企业如何筛选高转化代运营机构

2026年B端抖音运营公司评测:制造企业如何筛选高转化代运营机构

短视频生态持续迭代,抖音平台已经从娱乐流量阵地转向 B 端企业重要的营销获客渠道,内容、搜索、AI 算法的融合,重构了工业品企业线上拓客路径。越来越多机械设备、工程建设、工业耗材类企业将抖音企业号纳入数字化营销预算,但 B 端…

2026/8/6 8:46:10 阅读更多 →
2026年抖音企业号代运营公司评测:六家B2B短视频服务商选型参考

2026年抖音企业号代运营公司评测:六家B2B短视频服务商选型参考

在短视频与直播电商深度融合的2026年,抖音企业号已从“品牌展示窗口”演进为B端采购决策的关键入口。数据显示,超75%的制造企业已开通抖音企业号,其中逾半数因内部缺乏专业团队选择外包;但市场呈现明显两极分化——头部机构报价高…

2026/8/6 8:46:10 阅读更多 →

最新新闻

DS4Windows完整指南:3步让PS手柄在Windows上完美玩转所有游戏

DS4Windows完整指南:3步让PS手柄在Windows上完美玩转所有游戏

DS4Windows完整指南:3步让PS手柄在Windows上完美玩转所有游戏 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 还在为Windows电脑无法识别你的PlayStation手柄而烦恼吗&#xf…

2026/8/6 9:47:43 阅读更多 →
Windows右键菜单终极清理指南:3步快速恢复极速响应,告别菜单臃肿烦恼

Windows右键菜单终极清理指南:3步快速恢复极速响应,告别菜单臃肿烦恼

Windows右键菜单终极清理指南:3步快速恢复极速响应,告别菜单臃肿烦恼 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾在右键点击…

2026/8/6 9:47:43 阅读更多 →
UE5 Niagara粒子交互实战:自定义模块实现发射器间数据通信

UE5 Niagara粒子交互实战:自定义模块实现发射器间数据通信

1. 项目概述:让粒子“对话”的Niagara新玩法 在UE5的视觉特效世界里,Niagara系统无疑是那颗最耀眼的明星。它赋予了特效师和程序化美术师前所未有的灵活性与控制力。我们早已习惯了让粒子系统模拟火焰、水流、烟雾,或者创建华丽的魔法光效。但…

2026/8/6 9:47:43 阅读更多 →
新版IDEA Git界面深度解析:从基础操作到高效协作实战指南

新版IDEA Git界面深度解析:从基础操作到高效协作实战指南

1. 项目概述:从“能用”到“好用”,新版IDEA Git界面深度解析 如果你和我一样,常年泡在IntelliJ IDEA里写代码,那么Git操作绝对是日常开发中最高频的动作之一。从早期的命令行依赖,到后来IDE内置的版本控制工具&#x…

2026/8/6 9:47:43 阅读更多 →
图遍历算法:DFS与BFS在P3916题中的应用与优化

图遍历算法:DFS与BFS在P3916题中的应用与优化

1. 图遍历算法概述 图遍历是图论中最基础也最重要的算法之一,它指的是按照某种规则系统地访问图中的所有顶点,且每个顶点仅被访问一次。P3916题目考察的正是这一经典问题的变种应用。在实际开发中,图的遍历算法被广泛应用于社交网络分析、路径…

2026/8/6 9:47:43 阅读更多 →
Spring Boot配置管理进阶:@ConfigurationProperties与@PropertySource深度解析

Spring Boot配置管理进阶:@ConfigurationProperties与@PropertySource深度解析

1. 从“硬编码”到“优雅配置”的进化之路 如果你是从Spring Boot 1.x时代一路走过来的开发者,肯定对 application.properties 里密密麻麻的配置项记忆犹新。那时候,我们获取配置最直接的方式就是 Value("${some.key}") ,简单粗…

2026/8/6 9:46:42 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →