Skip to main content
All docs
V24.2

Migrate ASP.NET MVC Applications to .NET

  • 8 minutes to read

This article explains how to transition DevExpress ASP.NET MVC 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 MVC.

#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 MVC:

  • 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:

#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 MVC extensions and their DevExpress Blazor and ASP.NET Core equivalents (or ways to implement similar functionality).

MVC Extension Blazor Component ASP.NET Core Component
BinaryImage Use the <img> tag.[1] Use the <img> tag.[1]
Button DxButton Button, ButtonGroup
ButtonEdit DxTextBox TextBox
Calendar DxCalendar<T> Calendar
CallbackPanel Not needed. Not needed.
Captcha
CardView DxGrid with a custom template,
DxGridLayout (see Demo)
DataGrid with a custom template.
CheckBox DxCheckBox<T> CheckBox, Switch
CheckBoxList DxCheckBox<T> CheckBox
ColorEdit DxColorPalette ColorBox
ComboBox DxComboBox<TData, TValue> SelectBox
DataView DxGrid with a custom template,
DxGridLayout (see Demo)
MultiView
DateEdit DxDateEdit<T>, DxDateRangePicker<T> DateBox
Diagram Possible to integrate DevExtreme Diagram Diagram
Docking
DropDownEdit DxDropDown, DxDropDownBox, DxDropDownButton DropDownBox, DropDownButton
FileManager Possible to integrate DevExtreme FileManager FileManager
FilterControl FilterBuilder
FloatingActionButton SpeedDialAction
FormLayout DxFormLayout Form
Gantt Possible to integrate DevExtreme Gantt Gantt
GridView DxGrid DataGrid
Hint DxFlyout Popover, Tooltip
HtmlEditor DxHtmlEditor HtmlEditor
HyperLink Use the <a> tag. Use the <a> tag.
Image Use the <img> tag. Use the <img> tag.
ImageGallery DxGrid with a custom template,
DxGridLayout (see Demo)
TileView
ImageSlider DxCarousel Gallery
ImageZoom
Label Use the <label> tag. Use the <label> tag.
ListBox DxListBox<TData, TValue> List
LoadingPanel DxLoadingPanel, DxWaitIndicator LoadIndicator, LoadPanel
Memo DxMemo TextArea
Menu DxMenu Menu
NavBar DxAccordion Accordion
PageControl DxTabs TabPanel
Panel DxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
PivotGrid DxPivotGrid PivotGrid
PopupMenu DxPopup, DxWindow Popup
ProgressBar DxProgressBar ProgressBar
RadioButton DxRadio<TValue> RadioGroup
RadioButtonList DxRadioGroup<TData, TValue> RadioGroup
RatingControl
Ribbon DxRibbon
RichEdit DxRichEdit RichEdit
RoundPanel DxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
Scheduler DxScheduler Scheduler
SpellChecker
SpinEdit DxSpinEdit<T> NumberBox
Splitter DxSplitter Splitter
Spreadsheet Spreadsheet
TabControl DxTabs Tabs
TextBox DxTextBox, DxMaskedInput<T> TextBox
TimeEdit DxTimeEdit<T> DateBox (type = ‘time’)
TokenBox DxTagBox<TData, TValue> TagBox
TrackBar Bullet, RangeSelector, RangeSlider, Slider
TreeList DxTreeList TreeList
TreeView DxTreeView TreeView
UploadControl DxFileInput, DxUpload FileUploader
ValidationSummary Use Microsoft’s ValidationSummary component. ValidationGroup, ValidationSummary
VerticalGrid
Chart 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 MVC applications run on macOS and Linux?

No, ASP.NET MVC applications cannot be deployed to Linux-based web servers. ASP.NET MVC 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 MVC 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} />