J'ai une application standard ASP.NET MVC3. En _ViewStart.cshtml, je l'habitude d'avoir:Spécification mise en page d'un autre fichier donne des erreurs de compilation (ASP.NET MVC3/Razor)
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Tout a fonctionné, et la vie était bonne. Maintenant, je veux déplacer la mise en page dans un répertoire modifiable à l'exécution; quelque chose comme:
@{
Layout = "~/Content/Themes/" + SomeClass.FolderName + "_/Layout.cshtml";
}
(Où potentiellement je qualifierais SomeClass.FolderName = "blah"
dans mon code.)
coller une copie de l'ancien Shared/_Layout.cshtml
dans le répertoire spécifié par SomeClass.FolderName
me donne malheureusement plusieurs erreurs de compilation, comme ViewBag
, Url
et Html
non existants (mais étrangement, User.Identity
est toujours accessible).
Qu'est-ce que je manque, et comment puis-je faire ce travail?
Edit:. Basé sur this question, j'ai collé mon web.config/Vues dans le répertoire, et il semble fonctionner - mais un fichier CSS référencé me donne une erreur 404 (par exemple {} SomeClass.FolderName/site.css).
Une erreur spécifique: 'Le nom « ViewBag »n'existe pas dans le context' actuel – ashes999