我在最后两个小时试图解决这个问题。我不记得我改变了什么我的项目,但现在它返回一个空白页,无论我写的是什么URL。没有控制器,我甚至没有任何单个HTML标签。
我在Windows 7 Starter上运行,我使用的是Visual Studio 2012和IIS Express。这个项目一切正常,我能够导航和访问控制器没有任何问题。我用Google搜索并发现了几篇建议启用HTTP路由的文章,以及控制面板的“添加/删除功能”部分中的类似HTTP模块。我检查了所有与IIS相关的东西,但它没有用。
我真正不明白的是,首先它没有任何问题地工作,我不记得我可以对这个项目做了哪些重大改变(我最近在2天前完成了工作)其次,其他项目正常工作,所以IIS配置正确。我检查了global.asax并正确调用了RegisterRoutes。我没有更改默认路由系统。
我不知道应该尝试什么,因为我没有收到任何错误消息。我将不胜感激任何帮助。谢谢!
更新1:看起来MVC框架永远不会被调用:即使我尝试调试并在Global.asax中的Application_Start()开头设置断点也没有任何反应
更新2:这是我的RouteConfig.cs文件:
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 }
);
}
这是我的Application_Start函数,无论如何都不会根据调试调用:
protected void Application_Start()
{
//ModelBinders.Binders.DefaultBinder = new PerpetuumSoft.Knockout.KnockoutModelBinder();
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Utilisateurs", "ID", "AdresseMail", true);
}
(我尝试评论无用的行(Websecurity,因为我没有在我想要达到的控制器中使用它,Knockout和BundleConfig),但我得到了相同的结果)。但是这个函数永远不会被调用。
答案 0 :(得分:0)
我遇到了同样的问题,原来我的_ViewStart.cshtml
没有部署到服务器上。我上传了它并且它有效。检查所有文件是否正确。