ASP.Net Core MVC路由问题

时间:2018-07-20 10:36:37

标签: c# asp.net-core asp.net-core-mvc asp.net-core-routing

我有一个MVC应用程序,当我在调试时浏览到根目录(http://localhost:5000)时,它将尝试加载index.html,而不是将我带到{HomeController} / {Index}

如果我将应用程序构建到Docker映像中,则路由将按预期工作

所有其他路由均按预期工作,但是这一步,我在项目中的任何地方都看不到对index.html的引用。

我的路线映射(Startup.cs):

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

HomeController:

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}

我的视图默认设置为

观看次数
-首页
--Index.cshtml

1 个答案:

答案 0 :(得分:0)

您是否在控制器上使用route属性?如果是,则将其删除并重试,因为当您使用route属性时,在UseMvc和UseMvcWithDefaultRoute()中定义的所有路由都将被忽略Source.

另一种解决方案是在index方法之前添加route属性:

 [Route("")]
 [Route("Home")]
 [Route("Home/Index")]
 public IActionResult Index()
 {
    return View();
 }