SuperAPI AI 工具集

syncfusion-aspnetcore-form-renderer

前端与建站

查看项目

更新于 10-29 00:05

技能介绍

Syncfusion ASP.NET Core Form Renderer 是一个架构驱动的 ASP.NET Core 表单组件,表单的字段定义、布局、校验、动态行为和提交动作由 JSON 架构声明,Razor Pages 与 C# 模型负责托管。本技能用于帮助用户生成、排查或扩展此类表单。

用途

  • 在 ASP.NET Core Razor Pages 项目中安装 Form Renderer NuGet 包并搭建页面。
  • 用属性、布局和设置定义表单。
  • 配置校验规则、条件行为、动态表达式和依赖型选项,并处理提交与按钮动作。

快速开始

创建项目:

dotnet new webapp -o RazorPagesFormRenderer cd RazorPagesFormRenderer

安装包:

dotnet add package Syncfusion.AspNetCore.FormRenderer dotnet add package Syncfusion.AspNetCore.Themes

在 Pages/_ViewImports.cshtml 注册标签助手:

@addTagHelper *, Syncfusion.AspNetCore.FormRenderer @addTagHelper *, Syncfusion.AspNetCore.Base

在 Pages/Shared/_Layout.cshtml 引入主题 CSS、渲染脚本和脚本管理器:

<head> <link rel="stylesheet" href="_content/Syncfusion.AspNetCore.Themes/styles/fluent2.css" /> <script src="_content/Syncfusion.AspNetCore.FormRenderer/scripts/sf-formrenderer.min.js"></script> </head> <body> <!-- Page content --> <ejs-scripts></ejs-scripts> </body>

在 Razor Page 中渲染架构:

@page @model FormRenderer.DefaultModel @using Syncfusion.EJ2.FormRenderer

<ejs-form-renderer id="registrationForm" schema="@Model.FormSchema"></ejs-form-renderer>

在页面模型中使用 C# 架构/属性类构建 Model.FormSchema,完整示例见入门参考。

主要能力

  • 表单架构与字段模型:根对象包含 version、properties、layout、settings;支持各类字段控件、数据类型、字段 ID/名称/标签及面板、表格、选项卡、卡片等布局。
  • 校验:内置 required、minLength、maxLength、pattern,支持 customValidation 与 valid 自定义校验,可区分提交时与变更时校验。
  • 条件行为:visibleWhen、hideWhen、requiredWhen、readOnlyWhen、disabledWhen,支持嵌套与 and/or 规则组、操作符列表及组件支持矩阵,另有 setValueWhen 与 choiceBasedField 概念。
  • 动态表达式:expressionValue 依据其他字段派生值,支持字段引用、数组索引、三元语法、算术/比较/逻辑运算符,以及 PI、TRUE、FALSE、NULL、Math 常量和聚合、数学、字符串、日期函数(含 DATEFORMAT)。
  • 级联下拉:choiceBasedField 配合 primaryFieldId、choiceMapping,以及 showAllWhenNotMapped 处理缺失值。
  • 跨字段范围:minMaxRange 通过字段引用对象约束数字与日期范围,区分固定 min/max 与跨字段范围规则。
  • 远程数据绑定:下拉、多选、复选组支持远程选项源、URL 适配器、dataPath、请求头、动态搜索/过滤值及 search、sort、filter、skip、take 查询配置。
  • 数据网格:支持静态与远程数据源、列编辑与校验、自定义校验与表达式、由其他字段驱动的条件数据源、搜索/排序/过滤/分页。
  • 表单动作与模板:buttonType 支持 submit、reset、button 及 allowMultiple、buttonsGroups 分组动作;提供 submit、change、buttonClick、failure、created 事件;支持自定义控件模板标签助手与 CustomWidgetSettingModel 属性,并涉及 HTML 清理、可聚焦控件、绑定值与 setFieldValue 同步、焦点保持及从自定义模板更新渲染器状态。

使用方式

在 Razor Pages 中通过 <ejs-form-renderer> 标签助手绑定 C# 模型提供的 schema,按需引入主题与脚本;文档按入门、架构、校验、条件、表达式、级联下拉、范围逻辑、远程数据、数据网格、动作与模板分节提供参考。

适用场景

适合以 JSON 架构声明方式构建 ASP.NET Core 表单,需要条件逻辑、级联选项、跨字段范围、远程数据、数据网格或自定义控件模板的开发与排错工作。

限制与注意事项

该技能旨在依据文档生成可用的表单,不虚构不受支持的架构属性;需确保字段 name 与 id 唯一、布局引用有效 propertyId、条件字段使用有效字段引用与操作符、表达式以 {name} 引用存在字段、自定义校验返回 true 或错误字符串,并在需要提交时包含提交按钮。具体收费、平台支持版本等资料暂未提供。