MVC4项目空白页面

时间:2014-03-25 17:11:47

标签: asp.net-mvc iis asp.net-mvc-routing iis-express

我在最后两个小时试图解决这个问题。我不记得我改变了什么我的项目,但现在它返回一个空白页,无论我写的是什么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),但我得到了相同的结果)。但是这个函数永远不会被调用。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,原来我的_ViewStart.cshtml没有部署到服务器上。我上传了它并且它有效。检查所有文件是否正确。