日期:2014-05-17  浏览次数:20941 次

Asp.Net Mvc3 修改视图的默认路径
public class StructRazorViewEngine : RazorViewEngine
	{
		public StructRazorViewEngine()
			: base()
		{
             //Area视图路径其中{2},{1},{0}分别代表Area名,Controller名,Action名
             AreaViewLocationFormats = new[] { "~/{2}/{1}/{0}.cshtml", "~/Shared/{0}.cshtml" };
             //Area模版路径
             AreaMasterLocationFormats = new[] { "~/Shared/{0}.cshtml" };
             //Area的分部视图路径
             AreaPartialViewLocationFormats = new[] { "~/{2}/{1}/{0}.cshtml", "~/Shared/{0}.cshtml" };
             //主视图路径
             ViewLocationFormats = new[] { "~/{1}/{0}.cshtml", "~/Shared/{0}.cshtml" };
             //主模版路径
             MasterLocationFormats = new[] { "~/Shared/{0}.cshtml" };
             //主分部视图路径
             PartialViewLocationFormats = new[] { "~/{1}/{0}.cshtml", "~/Shared/{0}.cshtml" };
			
         }

		protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
		{
			return base.CreatePartialView(controllerContext, partialPath);
		}

		protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
		{
			return base.CreateView(controllerContext, viewPath, masterPath);
		}

		protected override bool FileExists(ControllerContext controllerContext, string virtualPath)
		{
			return base.FileExists(controllerContext, virtualPath);
		}
	}