Если в Visual Studio 2008 создать ASP.NET MVC Web Application, то окажется, что в корне сайта есть папка Views, в которой есть папка Shared со следующими файлами: Site.Master, Error.aspx и LogOnUserControl.ascx;
Например, если удалить папку Shared, а файл Site.Master поместить в папку Views, то в рантайме получим сообщение об ошибке:
System.InvalidOperationException was unhandled by user code, Message="The view 'Index' or its master could not be found. The following locations were searched: ~/Views/Home/Index.aspx, ~/Views/Home/Index.ascx, ~/Views/Shared/Index.aspx, ~/Views/Shared/Index.ascx", Source="System.Web.Mvc"
Это можно исправить, если указать путь к файлам. Для этого в метод
AppInitialize или в файл Global.asax.cs в метод Application_Start надо добавить следующий код:
ViewEngines.Engines.Clear(); |
ViewEngines.Engines.Add(new WebFormViewEngine |
| MasterLocationFormats = new string[] |
| ViewLocationFormats = new string[] |
| PartialViewLocationFormats = new string[] |
А также:
1) во всех aspx-файлах в атрибуте MasterPageFile надо в значении "~/Views/Shared/Site.Master" удалить Shared
2) в файле Site.Master в теге link в атрибуте href надо удалить начальный "../".
1 комментарий:
чем вам папка шаред не угодила?
Отправить комментарий