Указание макета из другого файла приводит к ошибкам компиляции (ASP.NET MVC3 / Razor) - PullRequest
3 голосов
/ 22 мая 2011

У меня есть стандартное приложение ASP.NET MVC3. В _ViewStart.cshtml я имел обыкновение иметь:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Все работало, и жизнь была хорошей. Теперь я хочу переместить макет в каталог, который можно изменять во время выполнения; что-то вроде:

@{
    Layout = "~/Content/Themes/" + SomeClass.FolderName + "_/Layout.cshtml";
}

(Где потенциально я бы назвал SomeClass.FolderName = "blah" в моем коде.)

Вставка копии старого Shared/_Layout.cshtml в каталог, указанный SomeClass.FolderName, к сожалению, дает мне несколько ошибок компиляции, таких как ViewBag, Url и Html, не существующих (но, как ни странно, * 1015) * все еще доступен).

Что мне не хватает, и как я могу заставить эту работу?

Редактировать: Исходя из этого вопроса , я вставил свой каталог web.config из / Views в каталог, и, похоже, он работает - но файл CSS, на который есть ссылка, дает мне 404 (например, {SomeClass.FolderName} /site.css).

1 Ответ

5 голосов
/ 22 мая 2011

Шаблон MVC настраивает Razor для представлений MVC в ~/Views/Web.config. Вам необходимо скопировать раздел Razor в Web.config в другую папку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...