【发布时间】:2018-02-14 17:27:46
【问题描述】:
我正在开发一个混合路由 Angular 2 和 ASP.NET Core 2 (razor) 项目。您将如何跳出角度路由并获得剃须刀页面?我尝试使用角度路由捕获所有未知路由并重新加载未知路由,但如果有路由 ASP.NET 并且 angular 无法识别它会进入循环。 Startup 类的 Configure 方法包含这个。
public void Configure(IApplicationBuilder app)
{
app.UseMvc(routes =>
{
routes.MapRoute(
name: "Index",
defaults: new { controller = "controller", action = "Index" },
template: "{controller}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "Login",
defaults: new { controller = "Sessions", action = "New" },
template: "Login");
});
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
});
}
一些例子:
- Mvc 路由
Mysite.com/documents/view/ - 角路线
Mysite.com/PendingTransactions
【问题讨论】:
-
如果您对某个问题投反对票,请有礼貌地指出原因。
-
你有 angular 应用程序和 mvc 应用程序共享一些共同的路由。即 mysite.com/app/angular 和 mysite.com/app/mvc?请提供一些示例,说明您的应用程序中的路由以及您对这些路由的 MVC 和 Angular 配置。
-
刚刚注意到您使用的是 ASP.Net Core MVC。我已经在 ASP.Net MVC (NOT Core) 中用 angular 5 解决了这个问题。如果你想让我用对我有用的方法来回答这个问题,请告诉我,但你必须自己将它应用到 Core。
-
我希望你 (Zzz) 回答有关 asp.net mvc 的问题,我会尝试将其移植到核心。
-
我的回答有帮助吗?
标签: c# asp.net-mvc angular asp.net-core asp.net-core-mvc