【问题标题】:MVC Controller looks for an aspx page by defaultMVC 控制器默认查找 aspx 页面
【发布时间】:2015-04-18 11:41:36
【问题描述】:

我有一个 Web 应用程序的解决方案,它在单独的类库中包含模型和视图以及控制器。我的视图文件夹中有 Razor 视图。当我输入 url(例如 Home/Index)时,构造函数正确地找到正确的视图 index.cshtml,但是如果不输入操作名称,我会收到一条错误消息,指出找不到资源并且请求网址是 /Home/index.aspx。

如何让构造函数默认查找剃刀视图。我的路由配置只是标准的默认配置。

 public static void RegisterRoutes(RouteCollection routes){

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                namespaces: new[] { "MyProject.Controllers" },
                defaults: new { action = "Index", id = UrlParameter.Optional }
            );
    }

除了我有对控制器命名空间的引用。

谢谢

【问题讨论】:

    标签: asp.net-mvc-5


    【解决方案1】:

    您的默认路由中缺少控制器的默认值。

     public static void RegisterRoutes(RouteCollection routes){
    
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
            routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    namespaces: new[] { "MyProject.Controllers" },
                    defaults: new { action = "Index", controller = "Home", id = UrlParameter.Optional }
                );
        }
    

    【讨论】:

    • 您好,感谢您的回复。我添加了 controller="Home" 的默认值,但仍然出现同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2018-04-01
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2014-01-06
    相关资源
    最近更新 更多