一键导入
gridview-templatefield-regression
Protect BWFC GridView TemplateField migrations from collapsing into BoundField output or losing nested controls
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Protect BWFC GridView TemplateField migrations from collapsing into BoundField output or losing nested controls
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | gridview-templatefield-regression |
| description | Protect BWFC GridView TemplateField migrations from collapsing into BoundField output or losing nested controls |
| domain | migration-tooling |
| confidence | high |
| source | earned |
Use this when changing the Web Forms to Blazor CLI markup pipeline anywhere near GridView column transforms, template context handling, data-binding expression rewrites, or asp-prefix stripping. TemplateField preservation is a cross-transform behavior, so regressions can appear even when each individual transform still looks correct in isolation.
TemplateField preservation as an ordered pipeline contract:
DisplayExpressionTransformAspPrefixTransformDataBindingAttributeTransformAttributeStripTransformGridViewColumnItemTypeTransformTemplateContextTransformTestHelpers.CreateDefaultPipeline().MigrationPipeline.ExecuteAsync().TextBoxCheckBoxBoundField + TemplateField siblings<TemplateField ...> count remains stable<TextBox>, <CheckBox>)ItemTemplate Context="Item" is present<BoundField> appears for template-only columnstests/BlazorWebFormsComponents.Cli.Tests/TransformUnit/GridViewColumnItemTypeTransformTests.cstests/BlazorWebFormsComponents.Cli.Tests/PipelineIntegrationTests.csGridViewColumnItemTypeTransform in isolation after changing template-related transforms.TemplateField shell but drops nested controls or display expressions.Program.cs without mirroring the same coverage through tests/BlazorWebFormsComponents.Cli.Tests/TestHelpers.cs.{what this skill teaches agents}
**WORKFLOW SKILL** — Execute end-to-end ContosoUniversity migration benchmark: clear output folder, run L1 script + L2 Copilot transforms, build, run Playwright acceptance tests, and generate a numbered run report. WHEN: "run contoso migration test", "test contoso university migration", "contoso migration benchmark", "run CU migration". INVOKES: migration-toolkit (scripts + skills), dotnet CLI, Playwright tests.
**WORKFLOW SKILL** - Execute the end-to-end WingtipToys migration benchmark: clear samples\AfterWingtipToys, run the migration-toolkit against samples\WingtipToys, repair the generated app until Playwright acceptance tests pass, and write a numbered run report with embedded screenshots under dev-docs\migration-tests\wingtiptoys. WHEN: "run Wingtip migration", "test WingtipToys migration", "Wingtip benchmark", "migrate WingtipToys", "rerun Wingtip migration". INVOKES: migration-toolkit (scripts + skills), dotnet CLI, Playwright tests.
Migrate ASP.NET Web Forms User Controls (.ascx) to Blazor components using BlazorWebFormsComponents. Covers ASCX-to-Razor conversion, code-behind preservation, tag prefix resolution, property/event mapping, and partial-class base class alignment. WHEN: 'migrate ascx', 'convert user control', 'ascx to blazor', 'user control migration'. FOR SINGLE OPERATIONS: use /bwfc-migration for full page migration, /bwfc-custom-control-migration for WebControl-based controls.
Migrate custom ASP.NET Web Forms server controls (WebControl, CompositeControl) to Blazor using BlazorWebFormsComponents. Covers RenderContents/HtmlTextWriter preservation, TagKey mapping, AddAttributesToRender, CreateChildControls, and the one-line-change migration pattern. WHEN: 'migrate custom control', 'webcontrol to blazor', 'rendercontents migration', 'htmltextwriter blazor', 'custom server control'. FOR SINGLE OPERATIONS: use /bwfc-ascx-migration for .ascx user controls, /bwfc-migration for full page migration.
Enforce canonical migration standards for ASP.NET Web Forms to Blazor using BWFC. Covers target architecture (.NET 10, Server Interactive), database provider detection, event handler preservation, SelectMethod patterns, and page lifecycle mapping. WHEN: "migration standards", "target architecture", "render mode placement", "page base class", "Layer 1 vs Layer 2".