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/25 16:04:56 阅读更多 →
2026年B端抖音运营公司评测:制造企业如何筛选高转化代运营机构

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

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

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

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

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

2026/8/25 20:26:21 阅读更多 →

最新新闻

如何用 Dify 零代码构建智能邮件管家:AI 邮件处理完整指南

如何用 Dify 零代码构建智能邮件管家:AI 邮件处理完整指南

如何用 Dify 零代码构建智能邮件管家:AI 邮件处理完整指南 【免费下载链接】dify Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prot…

2026/8/29 15:45:58 阅读更多 →
LocalSend 快速上手教程:开源跨平台文件传输项目完整拆解

LocalSend 快速上手教程:开源跨平台文件传输项目完整拆解

LocalSend 快速上手教程:开源跨平台文件传输项目完整拆解 【免费下载链接】localsend An open-source cross-platform alternative to AirDrop 项目地址: https://gitcode.com/GitHub_Trending/lo/localsend LocalSend 是一款开源的跨平台文件传输应用&#…

2026/8/29 15:45:58 阅读更多 →
Taste-Skill上手指南:AI前端反模板

Taste-Skill上手指南:AI前端反模板

Taste-Skill上手指南:AI前端反模板 【免费下载链接】taste-skill Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop 项目地址: https://gitcode.com/GitHub_Trending/ta/taste-skill Taste-Skill是一套给Cursor…

2026/8/29 15:45:58 阅读更多 →
快速把 Mermaid 流程图的布局切到 ELK:一份完整配置指南

快速把 Mermaid 流程图的布局切到 ELK:一份完整配置指南

快速把 Mermaid 流程图的布局切到 ELK:一份完整配置指南 【免费下载链接】mermaid Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid 在…

2026/8/29 15:45:58 阅读更多 →
豆包抽佣背后:国产大模型商业化破局与开发者应对指南

豆包抽佣背后:国产大模型商业化破局与开发者应对指南

最近几年,国产大模型一直面临一个很现实的拷问:光有用户、光有流量,到底能不能赚到钱?模型能力很强,免费让大家用,烧的是研发和算力成本,但商业化闭环迟迟没有标准答案。直到“豆包开始抽佣”这…

2026/8/29 15:45:58 阅读更多 →
单片机定时器与DAC实战:从零构建电压方波发生器

单片机定时器与DAC实战:从零构建电压方波发生器

1. 项目缘起:从赛题到实战的电压方波发生器 最近在整理过往的竞赛笔记,翻到了第十届蓝桥杯单片机设计与开发组的这道“电压方波发生器”题目。这道题可以说是那届比赛的一个经典,它不像一些纯逻辑题那样抽象,而是非常贴近实际的电…

2026/8/29 15:44:58 阅读更多 →

日新闻

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:00:24 阅读更多 →
【JavaScript】内存管理-垃圾回收机制-内存泄露

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:00:24 阅读更多 →
Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/29 0:00:24 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 11:23:26 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 23:05:07 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 19:47:53 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/28 17:43:04 阅读更多 →
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/29 2:05:18 阅读更多 →