Reputation: 93327
Is there a way to change the root folder for the views to the bin/views folder?
Upvotes: 0
Views: 278
Reputation: 126547
You can subtype WebFormsViewEngine:
public class MyViewEngine : WebFormViewEngine
{
public MyViewEngine() {
MasterLocationFormats = new[] {
"~/bin/Views/{1}/{0}.master",
"~/bin/Views/Shared/{0}.master"
};
ViewLocationFormats = new[] {
"~/bin/Views/{1}/{0}.aspx",
"~/bin/Views/{1}/{0}.ascx",
"~/bin/Views/Shared/{0}.aspx",
"~/bin/Views/Shared/{0}.ascx"
};
PartialViewLocationFormats = ViewLocationFormats;
}
}
Then edit Global.asax to use it:
private void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
// replace default WebForms view engine.
ViewEngines.Engines.Remove(ViewEngines.Engines.OfType<WebFormViewEngine>().Single());
ViewEngines.Engines.Add(new Namespace.MyViewEngine());
}
Upvotes: 1