Asp.Net Core 2.1-route.MapRoute在浏览器中显示URL?

时间:2019-02-23 05:19:07

标签: c# asp.net-core

浏览器在任何情况下都可以显示URL吗?

在我给定的示例中,它可以按我的方式工作,但不适用于默认路由,对于默认路由,显示的URL仅例如https://localhost:44383/

当我单击“主页/关于”时,显示屏显示正确的https://localhost:44383/Home/About

每当我单击索引时,浏览器仅显示https://localhost:44383/ 它应该显示https://localhost:44383/Home/Index ....?

希望您能提供帮助吗?

"public void Configure(IApplicationBuilder app, IHostingEnvironment env)"

这是我唯一的路线:

routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

1 个答案:

答案 0 :(得分:0)

确定找到了解决方案-有点棘手,但可以:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();


            app.Use(async (context, next) =>
            {
                if (context.Request.Path == "/")
                {
                    context.Response.Redirect("Home/Index", true);
                }
                await next();
            });

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "Index",
                    template: "{controller=Home}/{action=Index}");
            });
        }