Install any skill in seconds. Free to start, no credit card required.
Get Started Free →fritzandfriends/bwfc-ascx-migration
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.
Passed 21 of 22 test cases with the skill, and 13 of 22 without it.
and 8 more in the full report
8 fixed13 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which namespace using statement must be added to a migrated ASCX code-behind file so that the `UserControl` base class resolves correctly in Blazor Web Forms Components?
| Checked | Without skill | With skill |
|---|---|---|
| The namespace specified is `BlazorWebFormsComponents.CustomControls`. | Missed | Passed |
The instructions your model reads when the skill loads.
ASP.NET Web Forms User Controls (.ascx files) are reusable markup fragments with code-behind. They map directly to Blazor .razor components with .razor.cs code-behind files.
The webforms-to-blazor CLI tool handles L1 conversion automatically. This skill guides L2 repair for common patterns that require contextual understanding.
| Step | What Happens |
|---|---|
| 1. Directive removal | <%@ Control ... %> is stripped |
| 2. Markup transforms | asp: prefixes removed, expressions converted |
| 3. Code-behind preservation | Base class remapped, usings updated |
4. @inherits injection | Added to .razor when code-behind inherits a CustomControls type |
| 5. Output | .razor + .razor.cs pair in the output project |
ASCX code-behind files contain business logic that should compile unchanged. The CLI:
System.Web.UI.* usingsusing BlazorWebFormsComponents.CustomControls;UserControl base class (now mapped to BWFC's UserControl)@inherits UserControl into the .razor fileDo NOT rewrite code-behind logic. Fix compile errors by adding missing shims or stubs.
Web Forms exposes ASCX properties to parent pages. In Blazor, these become [Parameter] properties:
// Web Forms (worked without attribute)
public string Title { get; set; }
// Blazor (requires [Parameter])
[Parameter]
test cases passed, vs 13 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.