【问题标题】:MVC routing with Angular 12 Integrated with buildAngular 12 的 MVC 路由与构建集成
【发布时间】:2022-01-16 22:08:13
【问题描述】:

我已将带有 mvc 的 angularjs 迁移到带有 mvc 的 angular。

问题是 mvc 路由不适用于参数。它返回 404 页面。我尝试了 # 但是,路线被分割到 # 并且只有那条路线有效。

AdminIndex 是一个 mvc 操作。其次是 routeDashboard,mvc 将其作为参数。但是突出显示的路线,我需要将 id 传递给显示 404 的 angular。

任何帮助将不胜感激。

【问题讨论】:

    标签: angular asp.net-mvc


    【解决方案1】:

    据我所知,您的路线数组中有几处需要更改。

    尝试删除所有 pathMatch 属性,除了带有重定向的最后一个对象。

    然后我会在每条路由上放置 canActivate 属性,并通过重定向将其从最后一条路由中删除。

    让你的数组看起来像这样

    const routes: Routes = [
      {path: "AdminIndex/routeDashboardff", component: DashboardffComponent, canActivate: [RoleGuardGuard]},
      ...
      ...
      {path: "**", redirectTo: "AdminIndex/routeDashboardff", pathMatch: "full"}
    ];
    

    【讨论】:

    • 我从其他路由中删除了 pathMatch 属性并且可以激活,我已经写了一个逻辑。仍然面临同样的问题。已更新错误图片。
    • 你在哪里定义了你在 url 栏中的路线的第一部分? “FactFind/FFHome”
    • 我在 base="/FactFind/FFHome" 和 app.module 中作为 APP_BASE_HREF 做了同样的事情
    • 角应用程序是否在终端中运行?端口是否正确?
    • 我使用 Angular 构建运行带有 mvc 项目的 Angular 应用程序。所以 angular build 将连接到 mvc 项目
    【解决方案2】:

    我在 url 中使用了 queryparams 而不是动态参数。

    传递了诸如 route?Id=1 之类的值,而不是 route/:Id。这解决了我在重定向时遇到的问题。

    感谢大家宝贵的时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 2019-01-09
      • 2018-11-02
      • 2010-09-13
      • 1970-01-01
      • 2013-04-12
      • 2017-06-10
      相关资源
      最近更新 更多