浏览器在任何情况下都可以显示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?}");
答案 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}");
});
}