更改视图根文件夹

时间:2009-05-28 14:50:10

标签: c# .net asp.net-mvc

有没有办法将视图的根文件夹更改为bin / views文件夹?

1 个答案:

答案 0 :(得分:1)

您可以对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;
    }
}

然后编辑Global.asax以使用它:

    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());
    }