asp.net-mvc – 是否可以在Orchard CMS中使用剃刀布局并绕过主题
一点背景
我们有一个最近使用的MVC4 Web应用程序,我们想要移植到Orchard CMS.即使这是一个“管理”类型的应用程序,我们也不希望它成为Orchard管理部分的一部分.这个应用程序目前正在运行,我们希望移动到Orchard尽可能对最终用户不可见. 我们现在在哪里 我们按照这个答案如何使用Integrate existing ASP.NET MVC application with Orchard CMS,但是我们使用布局(Razor not Orchard)并且它不起作用(默认情况下)与Orchard呈现页面的方式(控制器操作返回的视图显示没有布局 – _ViewStart.cshtml是忽略).我试图在View方法中指定布局的路径,但它不起作用或路径不好,因为我们在一个模块中.有没有办法告诉Orchard使用_layout.cshtml文件并绕过Orchard主题? 解决方法
可以绕过Orchard主题.请注意,我正在使用MvcMailer执行此操作,因此输出的电子邮件是带有布局的“模板化”HTML.我无法明确地说这适用于常规页面,但您可以尝试一下.在你的视图中拍下这个:
@inherits System.Web.Mvc.WebViewPage<object> @{ Layout = "_Layout.cshtml"; } 警告:你不能使用更新的@model directiv.我只是回到原来的风格,把我的模型放在“对象”的位置: @using Namesapce.ViewModels @inherits System.Web.Mvc.WebViewPage<MyViewModel> 否则,创建一个主题并覆盖Orchard的任何形状都非常简单.我有两种方法: >创建一个简单的主题,覆盖形状(说你想要一个不同的登录,只需在主题的?/ View中创建Login.cshtml文件夹),使用替代(使用Layout-homepage.cshtml覆盖主页的布局),有你的.css等;>使用一些技巧用模块中的代码覆盖主题,然后创建您自己的主题文件夹中的视图和形状.例如,您可以在主题中使用Layout.cshtml文件,其中包含显示形状的代码.但是,形状本身(.cshtml文件)存在于您的模块中,这对于使用仪表板类型主题非常有用调用在不同模块中命名相同的形状但是显示不同的内容.这个代码更深入一些.只要问你是否需要样品. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 实现安全的“记住我”的最佳实践
- ASP.NET应用程序池回收问题
- asp.net-mvc-3 – 带有重音IE8的ASP MVC3 FileResult – 被
- ASP.NET编译器在更新到5.2.2之后无法加载System.Web.Mvc
- asp.net-mvc – Asp.net mvc 4部署错误
- Azure Event Hub 技术研究系列2-发送事件到Event Hub
- asp.net-mvc – ASP.NET MVC WebApi:没有为此对象定义的无
- asp.net – 如何在发布项目时交换连接字符串?
- asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中ActionFilt
- ASP.NET WebHooks和Signal-R之间的区别
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- .net – FileLoadException:无法加载文件或程序
- asp.net – 如何将网页添加到gridview
- asp.net – 当我按浏览器BACK按钮会发生什么?
- .net – <%#%>和<%=%>有什么区别?
- asp.net-mvc-3 – ASP.NET MVC 3/4是否有任何响应
- asp.net-mvc – 我可以在asp.net mvc中拥有多个s
- asp.net-mvc – 如何使用ASP.NET MVC对网页授权进
- asp.net – Handles子句需要在包含类型或其基类型
- .net – <%#和<%=开启代码有什么区别?