Skip to main content
All docs
V24.2

Migrate Web Forms Applications to .NET

  • 9 minutes to read

This article explains how to transition DevExpress ASP.NET Web Forms projects to .NET.

If you are starting a new project or modernizing an existing one, you will likely use .NET instead of the outdated .NET Framework v4.x.

To explore why you might choose one framework over another, refer to the guide in Microsoft’s documentation: Choose between ASP.NET 4.x and ASP.NET Core.

If you target a newer framework you need to rebuild the UI from scratch. You cannot convert an application from .NET Framework v4.x to .NET, but you can reuse your data layer and business logic.

The following sections reference useful migration resources and help you choose DevExpress products designed for .NET instead of ASP.NET Web Forms.

#DevExpress UI Components for Modern .NET Development

If you want to use modern .NET versions for server-side web development, consider the following DevExpress product lines instead of ASP.NET Web Forms:

  • Blazor UI Components

    The DevExpress Blazor Component Suite ships with components and development libraries for Blazor Server, Blazor WebAssembly, and Blazor Hybrid hosting models. The suite includes a comprehensive set of UI controls, such as Data Grid, Pivot Grid, Scheduler, Chart, Data Editors, and Reporting. Review the complete list of available components in our documentation.

    DevExpress Blazor Components are included in the following subscriptions: ASP.NET, DXperience, and Universal.

    Run Demo Download: Free 30-Day Trial

  • ASP.NET Core Components

    The DevExpress ASP.NET Core Component Suite ships with 80+ high-performance and responsive UI components, such as Data Grid, Pivot Grid, Scheduler, Chart, Rich Editor, Spreadsheet, Diagram, Map, Data Editors, Reporting, and many more. Review the complete list in our documentation.

    DevExpress ASP.NET Core Components are included in the following subscriptions: DevExtreme (excludes Rich Editor and Spreadsheet), ASP.NET, DXperience, and Universal.

    Run Demo Download: Free 30-Day Trial

#How to Upgrade a Project: Useful Resources

For information on how to upgrade your project, review the following resources:

Watch Video: Migrating Real Web application from ASP.NET Webforms to Blazor

#DevExpress UI Components: Equivalents for Different Platforms

Most of our product lines contain similar component sets. Regardless of the platform, developers usually require the same UI controls for their business apps and websites.

The table below lists DevExpress ASP.NET Web Forms components and their DevExpress Blazor and ASP.NET Core equivalents (or ways to implement similar functionality).

Web Forms Component Blazor Component ASP.NET Core Component
ASPxBinaryImage Use the <img> tag.[1] Use the <img> tag.[1]
ASPxButton DxButton Button, ButtonGroup
ASPxButtonEdit DxTextBox TextBox
ASPxCalendar DxCalendar<T> Calendar
ASPxCallback Not needed. Not needed.
ASPxCallbackPanel Not needed. Not needed.
ASPxCaptcha
ASPxCardView DxGrid with a custom template,
DxGridLayout (see Demo)
DataGrid with a custom template.
ASPxCheckBox DxCheckBox<T> CheckBox, Switch
ASPxCheckBoxList DxCheckBox<T> CheckBox
ASPxCloudControl
ASPxColorEdit DxColorPalette ColorBox
ASPxComboBox DxComboBox<TData, TValue> SelectBox
ASPxDataView DxGrid with a custom template,
DxGridLayout (see Demo)
MultiView
ASPxDateEdit DxDateEdit<T>, DxDateRangePicker<T> DateBox
ASPxDiagram Possible to integrate DevExtreme Diagram Diagram
ASPxDocking
ASPxDropDownEdit DxDropDown, DxDropDownBox, DxDropDownButton DropDownBox, DropDownButton
ASPxFileManager Possible to integrate DevExtreme FileManager FileManager
ASPxFilterControl FilterBuilder
ASPxFloatingActionButton SpeedDialAction
ASPxFormLayout DxFormLayout Form
ASPxGantt Possible to integrate DevExtreme Gantt Gantt
ASPxGaugeControl DxBarGauge BarGauge, CircularGauge, LinearGauge
ASPxGridView DxGrid DataGrid
ASPxHeadline
ASPxHiddenField Not needed. Not needed.
ASPxHint DxFlyout Popover, Tooltip
ASPxHtmlEditor DxHtmlEditor HtmlEditor
ASPxHyperLink Use the <a> tag. Use the <a> tag.
ASPxImage Use the <img> tag. Use the <img> tag.
ASPxImageGallery DxGrid with a custom template,
DxGridLayout (see Demo)
TileView
ASPxImageSlider DxCarousel Gallery
ASPxImageZoom
ASPxLabel Use the <label> tag. Use the <label> tag.
ASPxListBox DxListBox<TData, TValue> List
ASPxLoadingPanel DxLoadingPanel, DxWaitIndicator LoadIndicator, LoadPanel
ASPxMemo DxMemo TextArea
ASPxMenu DxMenu Menu
ASPxNavBar DxAccordion Accordion
ASPxNewsControl
ASPxObjectContainer
ASPxPageControl DxTabs TabPanel
ASPxPager DxPager
ASPxPanel DxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
ASPxPivotGrid DxPivotGrid PivotGrid
ASPxPopupControl DxPopup, DxWindow Popup
ASPxProgressBar DxProgressBar ProgressBar
ASPxRadioButton DxRadio<TValue> RadioGroup
ASPxRadioButtonList DxRadioGroup<TData, TValue> RadioGroup
ASPxRatingControl
ASPxRibbon DxRibbon
ASPxRichEdit DxRichEdit RichEdit
ASPxRoundPanel DxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
ASPxScheduler DxScheduler Scheduler
ASPxSiteMapControl
ASPxSpellChecker
ASPxSpinEdit DxSpinEdit<T> NumberBox
ASPxSplitter DxSplitter Splitter
ASPxSpreadsheet Spreadsheet
ASPxTabControl DxTabs Tabs
ASPxTextBox DxTextBox, DxMaskedInput<T> TextBox
ASPxTimeEdit DxTimeEdit<T> DateBox (type = ‘time’)
ASPxTimer Use Microsoft’s Timer object. Use the setTimeout() global function.
ASPxTitleIndex
ASPxTokenBox DxTagBox<TData, TValue> TagBox
ASPxTrackBar Bullet, RangeSelector, RangeSlider, Slider
ASPxTreeList DxTreeList TreeList
ASPxTreeView DxTreeView TreeView
ASPxUploadControl DxFileInput, DxUpload FileUploader
ASPxValidationSummary Use Microsoft’s ValidationSummary component. ValidationGroup, ValidationSummary
ASPxVerticalGrid
WebChartControl DxChart<T>, DxPolarChart<T>,
DxPolarChart<T>, DxSankey, DxSparkline
Chart, Funnel, PieChart, PolarChart, Sankey, Sparkline, Bullet
Dashboard Dashboard Dashboard
Query Builder Query Builder
Reporting Reporting Reporting

#Have a Question?

If you have additional technical questions about migrating to other UI technologies within the DevExpress ecosystem, feel free to contact us: DevExpress Support Center.

#FAQ

#Can ASP.NET Web Forms applications run on macOS and Linux?

No, ASP.NET Web Forms applications cannot be deployed to Linux-based web servers. ASP.NET Web Forms applications are designed to run on Windows-based web servers and Internet Information Services (IIS) because they rely on .NET Framework-specific APIs and the System.Web assembly in particular. (We do not take into account Mono runtimes due to their unofficial status and because DevExpress components do not work with them.)

#I want to maintain ASP.NET Web Forms apps and create companion apps for non-Windows platforms (Web, Mobile, macOS/Linux). What features are available in the DevExpress ecosystem and how can I reuse my code?

DevExpress offers a variety of feature-rich visual UI controls and non-visual components/libraries for developing desktop, web, and mobile apps including APIs/services (based on modern versions of .NET and JavaScript).

#UI Controls for Building Traditional Line-of-Business, CRUD, Office-Inspired Apps

DevExpress UI libraries allow you to build web, hybrid, or cross-platform software with JavaScript, ASP.NET Core, or Blazor. You can also use tools like Electron or BlazorWebView/HybridWebView from .NET MAUI to pack your web applications inside a native container application. Or use .NET MAUI to build native mobile apps.

DevExpress UI libraries include:

Expand the following sections for information on popular scenarios and software requirements:

Generate and Manage Office Files (Word, Excel, PDF)

The DevExpress cross-platform Office File API allows you to create, load, edit, convert, sign, and print rich text documents, Excel spreadsheets/workbooks, and PDF files across all platforms and operating systems that support recent .NET versions:

  • Windows, Linux, macOS
  • Non-Windows environments (Azure, AWS, Docker, etc.)

You can integrate the DevExpress Office File API library in the following application types:

  • Desktop (WinForms, WPF)
  • Web (ASP.NET Core MVC, Razor Pages, Blazor Server/WebAssembly, Blazor Hybrid, Web API)
  • Mobile (.NET MAUI)
  • Console and API service applications
  • Cross-platform .NET UI frameworks (for example, Avalonia)

Read the following help topics for additional information:

Design Reports, Export Documents, and Download PDF

DevExpress Reports is our feature-complete reporting platform and component library for the .NET ecosystem that targets Web, Mobile, and Desktop platforms. You can incorporate a Report Viewer or End-User Report Designer directly within your application, generate PDF files from predefined templates, export reports to a variety of file formats. With DevExpress Reports, you can address requirements across multiple operating systems and hosting environments (Windows, Linux or macOS, Azure or AWS).

Read the following help topics for additional information:

Code Sharing, Data Access Security, and Reusable API Services

The amount of code you can reuse from existing applications depends on the architecture of your application. However, upgrading to modern versions of .NET and refactoring your code can increase the likelihood of code reuse so that different UI clients can use the same business logic or API services.

You can share your existing database, data model, business logic, authentication/authorization settings, and cross-platform C# code between multiple UI clients (desktop, web, mobile) that target different platforms. API services are a natural choice that offers security (UI clients cannot access database connection information or directly read/modify database tables), usability, and ease of maintenance. For example, if your application utilizes Entity Framework Core or XPO ORM, you can build a data service that can be used by your DevExpress DevExpress WinForms, Blazor, JavaScript, or mobile applications that target .NET.

Read the following help topics and blog posts for additional information:

Watch Video: Integrate the DevExpress Blazor Components into ASP.NET WinForms with Blazor Hybrid

Footnotes
  1. For instance: <img src="data:image/png;base64,{imageBytes} />