我正在ASP.Net MVC 5应用程序中开发一个使用angular的迷你SPA。基本上我想使用这个迷你SPA进行入职/注册工作流程,并使用ASP.Net MVC视图和路由获取其他功能。
对于Onboarding mini SPA,我已经定义了MVC路线:
routes.MapRoute(
name: "Onboarding",
url: "onboarding/{*catchall}",
defaults: new { controller = "Onboarding", action = "Create" }
);
Angular配置如下:
(function () {
var app = angular.module('app', ['ngRoute']);
app.config(function ($routeProvider, $locationProvider) {
$routeProvider.caseInsensitiveMatch = true;
$routeProvider.when('/onboarding', { templateUrl: '/app/Views/CreateShop.html', controller: 'onboardingController' })
.when('/onboarding/add-product', { templateUrl: '/app/Views/AddProduct.html', controller: 'onboardingController' })
$locationProvider.html5Mode(true);
});}());
Create.chtml用作此迷你SPA的容器/入口点。
<div ng-controller="onboardingController">
<div ng-view></div>
</div>
@section scripts {
@Scripts.Render("~/bundles/angularOnboarding")
}
问题:当我在迷你SPA中时,我的导航链接/路线会中断,例如导航到联系页面或关于页面(MVC视图)不起作用。 Angular似乎处理所有路由请求。此外,从导航到某个MVC路由的锚标签导航不起作用。 将URL放在浏览器中可以正常工作。 如何使我的混合方案工作? 非常感谢任何建议或解决方案,谢谢。