我们可以通过添加以下代码来解决此问题:
确保System.Web.Mvc程序集已正确引用。
在Global.asax.cs文件中,添加以下代码:
using System.Web.Mvc; using System.Web.Routing;
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); }
此代码注册了所有区域并启用了路由配置文件。
using System.Web.Mvc; using System.Web.Routing;
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
此代码定义了默认路由。它包含了一个名为“Default”的路由,它查找控制器名称和动作名称,以便为路由生成URL。
在IIS管理器中选择“插件”选项卡 =>“自定义错误”,并验证启用了HTTP错误404(文件未找到)的详细错误消息。
最后,重新启动IIS站点以使更改生效。
通过以上步骤,ASP.NET网站hosted in IIS中的简单控制器路由即可正常工作。