Problema con MVC3

domenica 09 settembre 2012 - 22.50

eomer75 Profilo | Newbie

Creo una sottocartella dell'applicazione /BackOffice
al suo interno metto le cartelle /Controller e /Views e la sottocartella di views /Page

Il controller PageController parte, ma cerca le viste solo nella /Root/Views/Page
Come faccio a dirgli che la view è in /Root/Backoffice/Views/Page

Inoltre se metto la view nella root, non legge il DataBag, dicendo che non è disponibile in tale contesto


Aiuto!!!!!

algraps Profilo | Junior Member

Ciao,
devi fare un semplice override delle location. Ti giro un link che mi ha aiutato molto : http://weblogs.asp.net/imranbaloch/archive/2011/06/27/view-engine-with-dynamic-view-location.aspx
cmq e' semplice :


public class MyRazorViewEngine : RazorViewEngine { public MyRazorViewEngine() : base() { base.ViewLocationFormats = base.ViewLocationFormats.Concat(new[] { "~/Views/Folder{1}/{0}.cshtml", "~/Views/Folder/{1}/{0}.vbhtml" }).ToArray(); base.PartialViewLocationFormats = base.PartialViewLocationFormats.Concat(new[] { "~/Views/Folder/{1}/{0}.cshtml", "~/Views/Folder/{1}/{0}.vbhtml" }).ToArray(); } }

e in application_start inserisci:

ViewEngines.Engines.Add(new MyRazorViewEngine());

Fammi sapere se ho risolto il tuo problema.
Ciao
A.G.

alx_81 Profilo | Guru

-- EDIT --
segui il consiglio di Ale
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5