J'ai essayé de faire le ViewEngine utiliser un chemin supplémentaire à l'aide:MasterLocationFormats dans WebFormViewEngine non utilisé?
base.MasterLocationFormats = new string[] {
"~/Views/AddedMaster.Master"
};
dans le constructeur de la ViewEngine. Cela fonctionne bien pour aspx et ascx (PartialViewLocationFormats, ViewLocationFormats).
Je dois encore fournir la MasterPage dans web.config ou dans la déclaration de page. Mais si je le fais, alors cette déclaration est utilisée, pas celle de ViewEngine. Si j'utilise des MasterLocationFormats vides, aucune erreur n'est générée. Cela n'est-il pas implanté dans RC1?
EDIT:
utilisant:
return View("Index", "AddedMaster");
au lieu de
return View("Index");
dans le contrôleur a travaillé.
j'avais les MasterLocationFormats fixés dans le constructeur par défaut. Cela a-t-il vraiment fonctionné pour vous? –
Gardez à l'esprit que vous devez_ spécifier une page MasterPage valide dans la directive @Page dans chacune de vos vues. Pour vérifier que ma solution simple fonctionne, utilisez l'une des surcharges de méthode View qui vous permet de spécifier une page maître. Par exemple. "return View (" Index "," ThisMasterPageDoesntExist ");". – thomasjo