You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ABP框架中使用MVC启动模板而非Razor Pages

在ABP框架中创建MVC(非Razor Pages)项目的方法

ABP官方目前没有直接生成MVC启动模板的命令,默认创建的项目会使用Razor Pages。你可以通过改造默认项目的方式得到纯MVC结构的项目,具体步骤如下:

1. 创建默认ABP项目

先用官方命令生成基础项目,比如:

abp new MyMvcProject

这个命令会生成包含Razor Pages的标准ABP解决方案。

2. 移除Razor Pages相关依赖与代码

  • 删除Web项目下的Pages文件夹(所有Razor Pages页面)
  • 打开Web项目的.csproj文件,删除对Volo.Abp.AspNetCore.Mvc.UI.RazorPages包的引用
  • 在Web模块类(比如MyMvcProjectWebModule)中,移除typeof(AbpAspNetCoreMvcUiRazorPagesModule)的模块依赖项

3. 配置MVC路由与添加核心代码

  • 确认Web项目已引用Volo.Abp.AspNetCore.Mvc包(默认已包含,若缺失可手动添加)
  • 在模块类的ConfigureServices方法中配置MVC选项:
    Configure<MvcOptions>(options =>
    {
        options.EnableEndpointRouting = false;
    });
    
  • 在模块类的Configure方法中替换路由配置为传统MVC路由:
    // 注释或删除原有的UseRouting、UseEndpoints代码
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
    
  • 在Web项目中创建Controllers文件夹,添加示例控制器:
    public class HomeController : AbpController
    {
        public IActionResult Index()
        {
            return View();
        }
    }
    
  • 创建Views文件夹,对应控制器添加视图文件(比如Views/Home/Index.cshtml)

4. 调整UI布局与静态资源

  • 在Views/Shared下创建或改造_Layout.cshtml,确保正确引用ABP的静态资源(样式、脚本)
  • 移除原Razor Pages布局中与MVC不兼容的代码,保持MVC视图的布局结构

完成以上步骤后,你的项目就会基于ABP框架运行纯MVC模式,同时保留ABP的核心功能(模块化、身份验证、授权等)。

内容的提问来源于stack exchange,提问作者Amr Rashed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:10:10