对于我的大部分网站,我希望正常路由以MVC方式发生.但是,当应用程序首次启动时,我不希望路由转到/Home/Index.cshtml.我希望它简单地转到/Index.html
我目前的RegisterRoutes看起来像这样(并没有实现我的目标)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("index.html");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud) 我已经为此奋斗了一段时间,决定写一篇文章。
我正在从ASP.NET Core模板包中获取的模板上,在ASP.Net Core 5.0和Angular 2上使用VS2017构建一个简单的单页应用程序。该应用程序应该管理联系人列表数据库。
我想到的想法是,默认的起始“ / home”页面应使用HomeComponent显示联系人列表。所有路由都可以正常工作,但是当应用程序启动时或每当我尝试路由到“ / home”时,它将一直转到ASP Home视图的Index.cshtml页面,而不是使用Angular路由。
知道如何始终使它通过Angular吗?我想将HomeComponent与'/ home'路线对齐,但是它一直转到ASP页面,仅在这里说'Loading ...',而我并不需要(我认为)。
我尝试了很多不同的解决方案,但是我什么都无法工作。我在这里可能会遗漏一些明显的东西,因为我在这些方面不太先进,因此,如果您可以将其保留为基本内容,请;;)
这是我来自Startup.cs的Configure方法:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index" });
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index",});
});
}
Run Code Online (Sandbox Code Playgroud)
app.module.shared.ts:
import { …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×1