Asp.net mvc Orchard自定义模块共享目录

Asp.net mvc Orchard自定义模块共享目录,asp.net-mvc,orchardcms,orchardcms-1.6,Asp.net Mvc,Orchardcms,Orchardcms 1.6,MVC视图引擎的Orchard实现似乎不像默认视图引擎那样在“共享”目录中查找视图或部分视图 因此,如果在我的cshtml中,我引用了一个局部视图,如: @Html.Partial("ViewFromShared") 这将在自定义Orchard模块中失败(但在普通ASP.NET网站中工作) 如何让Orchard视图引擎搜索共享目录 还有,有没有办法让Orchard识别我的ViewStart页面 多谢各位 更新: 我可以按照下面的确切步骤复制: 创建一个新的ASP.NETMVC4项目(MyAp

MVC视图引擎的Orchard实现似乎不像默认视图引擎那样在“共享”目录中查找视图或部分视图

因此,如果在我的cshtml中,我引用了一个局部视图,如:

@Html.Partial("ViewFromShared")
这将在自定义Orchard模块中失败(但在普通ASP.NET网站中工作)

如何让Orchard视图引擎搜索共享目录

还有,有没有办法让Orchard识别我的ViewStart页面

多谢各位

更新:

我可以按照下面的确切步骤复制:

  • 创建一个新的ASP.NETMVC4项目(MyApp)
  • 在共享目录(SharedFile.cshtml)中添加新的cshtml
  • 添加新视图(Views/XYZ/MyView)和控制器(Controllers/XYZController)
  • 从新的控制器索引方法调用视图(“MyView”)
  • 将Html.Partial(“SharedFile”)添加到MyView
  • 将网站发布到Orchard/Modules/MyApp
  • 添加Module.txt(名称:MyApp)
  • 添加IRouteProvider和以下RoutedDescriptor

    new RouteDescriptor
            {
                Priority = 5,
                Route = new Route(
                    "Modules/MyApp/{controller}/{action}",
                    new RouteValueDictionary
                        {
                            {"area", "MyApp"}
                        },
                    new RouteValueDictionary(),
                    new RouteValueDictionary
                        {
                            {"area", "MyApp"}
                        },
                    new MvcRouteHandler())
            },
    
  • 在浏览器中转到myorchardsite/Modules/MyApp/XYZ/Index

  • 找不到ViewFromShared并引发异常:

预期结果:ViewFromShared应在页面上呈现

  • 如果我删除了对@Html.Partial(“ViewFromShared”)的调用,则不尊重_ViewStart.cshtml和_Layout.cshtml,并且没有Html/head/body标记……只有MyView.cshtml的内容

预期结果:我应该在页面中呈现_ViewStart.cshtml和_Layout.cshtml。

您可以使用
@Display.ViewFromShared()
动态创建一个形状并将其呈现到位。如果需要,您甚至可以使用
@Display.ViewFromShared(SomeProperty:val,SomeOtherProperty:42)
等语法设置形状的属性。有关动态创建形状的详细信息,请参见。

您可以使用
@Display.ViewFromShared()
动态创建形状并使其就地渲染。如果需要,您甚至可以使用
@Display.ViewFromShared(SomeProperty:val,SomeOtherProperty:42)
等语法设置形状的属性。有关动态创建形状的更多详细信息,请参阅。

请添加更多详细信息:如何共享目录?您的ViewStart页是什么,您希望看到什么以及它是如何失败的?我添加了更多详细信息…有什么想法吗?为什么不改为使用@Display.ViewFromShared()呢?该类(Display)存在于何处?你是说@Html吗?你是说添加一个自定义的HTML帮助程序,在共享文件夹中查找?谢谢。不,我指的是显示,它不是一个类,而是基本视图的一个动态属性。您应该阅读以下内容:请添加更多详细信息:目录是如何共享的?您的ViewStart页是什么,您希望看到什么以及它是如何失败的?我添加了更多详细信息…有什么想法吗?为什么不改为使用@Display.ViewFromShared()呢?该类(Display)存在于何处?你是说@Html吗?你是说添加一个自定义的HTML帮助程序,在共享文件夹中查找?谢谢。不,我指的是显示,它不是一个类,而是基本视图的一个动态属性。您应该阅读以下内容: