Back to Devexpress

Migrate ASP.NET MVC Applications to .NET

aspnetmvc-405189-migration.md

latest25.5 KB
Original Source

Migrate ASP.NET MVC Applications to .NET

  • Oct 15, 2024
  • 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

  • ASP.NET Core Components

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 ExtensionBlazor ComponentASP.NET Core Component
BinaryImageUse the [](https://www.w3schools.com/html/html_links.asp) tag.[1]Use the [](https://www.w3schools.com/html/html_links.asp) tag.[1]
ButtonDxButtonButton, ButtonGroup
ButtonEditDxTextBoxTextBox
CalendarDxCalendar<T>Calendar
CallbackPanelNot needed.Not needed.
Captcha
CardViewDxGrid with a custom template,
DxGridLayout (see Demo)DataGrid with a custom template.
CheckBoxDxCheckBox<T>CheckBox, Switch
CheckBoxListDxCheckBox<T>CheckBox
ColorEditDxColorPaletteColorBox
ComboBoxDxComboBox<TData, TValue>SelectBox
DataViewDxGrid with a custom template,
DxGridLayout (see Demo)MultiView
DateEditDxDateEdit<T>, DxDateRangePicker<T>DateBox
DiagramPossible to integrate DevExtreme DiagramDiagram
Docking
DropDownEditDxDropDown, DxDropDownBox, DxDropDownButtonDropDownBox, DropDownButton
FileManagerPossible to integrate DevExtreme FileManagerFileManager
FilterControlFilterBuilder
FloatingActionButtonSpeedDialAction
FormLayoutDxFormLayoutForm
GanttPossible to integrate DevExtreme GanttGantt
GridViewDxGridDataGrid
HintDxFlyoutPopover, Tooltip
HtmlEditorDxHtmlEditorHtmlEditor
HyperLinkUse the <a> tag.Use the <a> tag.
ImageUse the [](https://www.w3schools.com/html/html_images.asp) tag.Use the [](https://www.w3schools.com/html/html_images.asp) tag.
ImageGalleryDxGrid with a custom template,
DxGridLayout (see Demo)TileView
ImageSliderDxCarouselGallery
ImageZoom
LabelUse the <label> tag.Use the <label> tag.
ListBoxDxListBox<TData, TValue>List
LoadingPanelDxLoadingPanel, DxWaitIndicatorLoadIndicator, LoadPanel
MemoDxMemoTextArea
MenuDxMenuMenu
NavBarDxAccordionAccordion
PageControlDxTabsTabPanel
PanelDxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
PivotGridDxPivotGridPivotGrid
PopupMenuDxPopup, DxWindowPopup
ProgressBarDxProgressBarProgressBar
RadioButtonDxRadio<TValue>RadioGroup
RadioButtonListDxRadioGroup<TData, TValue>RadioGroup
RatingControl
RibbonDxRibbon
RichEditDxRichEditRichEdit
RoundPanelDxFormLayout Groups, DxAccordion, DxGridLayout, DxStackLayout
SchedulerDxSchedulerScheduler
SpellChecker
SpinEditDxSpinEdit<T>NumberBox
SplitterDxSplitterSplitter
SpreadsheetSpreadsheet
TabControlDxTabsTabs
TextBoxDxTextBox, DxMaskedInput<T>TextBox
TimeEditDxTimeEdit<T>DateBox (type = ‘time’)
TokenBoxDxTagBox<TData, TValue>TagBox
TrackBarBullet, RangeSelector, RangeSlider, Slider
TreeListDxTreeListTreeList
TreeViewDxTreeViewTreeView
UploadControlDxFileInput, DxUploadFileUploader
ValidationSummaryUse Microsoft’s ValidationSummary component.ValidationGroup, ValidationSummary
VerticalGrid
ChartDxChart<T>, DxPolarChart<T>,
DxPolarChart<T>, DxSankey, DxSparklineChart, Funnel, PieChart, PolarChart, Sankey, Sparkline, Bullet
DashboardDashboardDashboard
Query BuilderQuery Builder
ReportingReportingReporting

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