Asp.net Umbraco 7:参考/设置单独文件夹中视图的路径

Asp.net Umbraco 7:参考/设置单独文件夹中视图的路径,asp.net,asp.net-mvc,umbraco,umbraco7,Asp.net,Asp.net Mvc,Umbraco,Umbraco7,我已将所有视图放在Visual Studio中它们自己的文件夹中,现在内容不再呈现。我必须从哪里设置它们渲染的路径?好吧,惯例是Umbraco模板位于~/View文件夹中。如果他们住在其他任何地方,您就失去了后台的工具支持(这会让其他负责该项目的Umbraco开发人员感到困惑!) 但是,如果文件夹名称与文档类型的名称匹配,您可以为每种文档类型创建一个控制器(即劫持路由)。我确信这将允许Umbraco签入子文件夹。我正在使用单核Umbraco 7创建多站点。我现在是这样处理的: using Sys

我已将所有视图放在Visual Studio中它们自己的文件夹中,现在内容不再呈现。我必须从哪里设置它们渲染的路径?

好吧,惯例是Umbraco模板位于~/View文件夹中。如果他们住在其他任何地方,您就失去了后台的工具支持(这会让其他负责该项目的Umbraco开发人员感到困惑!)


但是,如果文件夹名称与文档类型的名称匹配,您可以为每种文档类型创建一个控制器(即劫持路由)。我确信这将允许Umbraco签入子文件夹。

我正在使用单核Umbraco 7创建多站点。我现在是这样处理的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;
using Umbraco.Core;
using Umbraco.Web.Mvc;
using Umbraco.Core.Logging;

namespace MyApp.UmbracoExtensions.Shared.Events
{
    public class RegisterCustomViewEngine : ApplicationEventHandler
    {
        protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            ViewEngines.Engines.Add(new CustomViewEngine());

            base.ApplicationStarting(umbracoApplication, applicationContext);
        }
    }

    public class CustomViewEngine : RazorViewEngine
    {
        private static string[] NewViewFormats = new[] {
            "~/Views/SomeFolder/{0}.cshtml",
            "~/Views/AnotherFolder/{0}.cshtml",
            "~/Views/Wiki/{0}.cshtml"
        };

        public CustomViewEngine()
        {
            base.ViewLocationFormats = base.ViewLocationFormats.Union(NewViewFormats).ToArray();
        }
    }
}

对于/View/MyController/下的surfacecontroller,它当然是这样。对于RenderMvcControllerso来说,不确定多站点实施的解决方案是什么,比如说,如果必须在同一个Umbraco项目中执行10个站点,那么呢。。。您可以覆盖此处描述的路由:。但是,首先应该考虑像混合框架这样的过度拱起的方法。实现您自己的默认控制器来完成很多繁重的工作。就我个人而言,如果不可避免的话,我会考虑为每个站点添加控制器前缀,从需要跨站点复制功能的基本控制器继承。不过,老实说,我质疑在一个Umbraco实例中托管10个站点的意义。如果这些站点都是同一站点的“主题”版本,那么您可以使用一组较小的控制器,但使用更易于组织的更多模板。如果没有,您应该首先询问为什么要在一个Umbraco实例中托管10个站点。我试图做的是并理解如何从一个后端创建和管理~10个站点。其中一些共享类似的功能和布局,而另一些则没有。我是否需要一个Umbraco实例来实现这一点?我如何组织我的MVC文件,而它们将开始从所有不同的站点堆积起来?或者我可以进行一次后端登录,根据凭据重定向到站点后端吗?提前谢谢!