我最近对我的MVC 3项目做了一些修改.
当我运行它,视图不包括任何文件,如Site.css.
当我调试我的Index()ActionController时,它直接跳转到View,而不包括像_Layout.cshtml这样的文件.所以我只是得到一个白色背景视图,没有菜单等.
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default",// Route name "{controller}/{action}/{id}",// URL with parameters new { controller = "Home",action = "Index",id = UrlParameter.Optional } // Parameter defaults ); routes.MapRoute( "Default2",// Route name "{controller}/{action}/{id}/{page}",// URL with parameters new { controller = "Survey",action = "DisplayQuestions",id = "",page = "" } ); }
解决方法
如果您的控制器操作中的断点被击中路由可能是错误的,但这不是_Layout.cshtml无法加载的原因.
要检查的几件事情
你的视图使用View()而不是PartialView()(后者忽略ViewStart.cshtml,所以_Layout.cshtml).
>您最近是否移动了_Layout.cshtml /您是否重命名了Shared(或意外创建了一个SharedController)?
>您的视图是否包含顶端的这样的内容,可以停用_Layout.cshtml?
@{ Layout = ""; }
>您的_ViewStart.cshtml是否仍然存在以下激活_Layout.cshtml的代码?
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }