我有一个标准的我的mvc项目模板,我想保留作为一个外部文件夹在我的源代码控制(SVN)
这意味着我不能将任何项目特定的文件放在此文件夹中,因为它将被提交到错误的地方.
..和我的标准模板需要覆盖MVC本身使用的模板,所以他们需要在MVC期望重写模板(例如〜/ Views / Shared / EditorTemplates)
那么在哪里可以把我的项目具体的?
例如,我应该把它们放在〜/ Views / Shared / SiteEditorTemplates中,并添加搜索的路径吗?
我该怎么办?
还是其他建议?
谢谢蚂蚁
解决方法
好的,我知道了
mvc中的编辑器代码在PartialViewLocationFormats中查找编辑器,为引擎添加DisplayTemplates或EditorTemplates到该路径.
所以,我创造了一条新的观点
〜/查看/标准/
并在那里打了标准的东西
〜/查看/标准/ EditorTemplates / string.cshtml
现在,在global.asax Application_Start引擎中注册新的路径
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); ViewEngines.Engines.Clear(); var viewEngine = new RazorViewEngine { PartialViewLocationFormats = new[] { "~/Views/{1}/{0}.cshtml","~/Views/Shared/{0}.cshtml","~/Views/Standard/{0}.cshtml" } }; ViewEngines.Engines.Add(viewEngine); }
注意,这将摆脱webforms视图引擎和vb路径,但我不需要它们
这允许我在SVN中的〜/ Views / Standard的外部使用,如果需要的话可以覆盖项目的东西 – rah!