asp.net - 自定义内容部分的包装器 - Orchard CMS

标签 asp.net asp.net-mvc asp.net-mvc-3 razor orchardcms

我使用 Orchard admin 创建了一个名为 'Spotlight Wrapper' 的新内容部分,其中包含 3 个 HTML 字段。然后,我创建了一个名为“模板 1”的内容类型,并为其分配了 “Spotlight Wrapper”。然后我创建了一个名为“主页”的新“模板 1”内容项。然后,我创建了一个名为 Fileds_Contrib.Html-Spotlight Wrapper.cshtml 的文件,以将每个 HTML 字段包装在“Spotlight Wrapper”中,并且这是有效的。我现在添加了:

<Place Parts_SpotlightWrapper="Content:before;Wrapper=Parts_SpotlightWrapper" />

并创建了:

Views\Parts.SpotlightWrapper.cshtml

试图将整个“Spotlight Wrapper”内容部分包装在一个但似乎无法让它工作?

最佳答案

您声明了一个包装器,我猜这会导致循环引用,因为您尝试用自身包装 Parts_SpotlightWrapper 形状。 包装器只是 Razor (cshtml) 代码的单独片段,充当给定形状的父级。

要实现您想要的行为,您应该创建一个单独的 .cshtml 文件(例如 MyWrapper.cshtml),其中包含必要的包装器 HTML 代码并将其附加到您现有的部分,如下所示:

<Place Parts_SpotlightWrapper="Content:before;Wrapper=MyWrapper" />

包装器代码可能看起来像。像这样:

<ul>
    @Display(Model.Child)
</ul>

顺便说一句 - 看看它是如何在 Orchard.Widgets 中完成的.有两个包装器 Widget.WrapperWidget.ControlWrapper 包装 Widget 形状。 这些声明不在 Placement.info 文件中(就像您所做的那样),而是硬编码在 Shapes.cs 中形状定义,尽管最终效果完全相同。 Placement.info 的技术只是稍后作为快捷方式介绍的。

HTH

关于asp.net - 自定义内容部分的包装器 - Orchard CMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907302/

相关文章:

c# - 当不应该使用它时,成员(member)凭据验证出现问题失败

javascript - Asp.net Webform 中用于多项选择问题的单选按钮

ASP.net MVC4 : Using a different model in a partial view?

c# - ASP.NET MVC : Is UpdateModel an "expensive" operation (due to Reflection)?

asp.net-mvc - ASP.NET MVC [RegularExpression] 属性在整个字符串匹配时不起作用

javascript - 在 ASP.NET 中上传文件

c# - 如何指定从 Controller 返回的 View ?

c# - 尝试保存图像时出现一般 GDI+ 错误(在 64 位 Windows 7 上)

asp.net-mvc - 每个客户的 Asp MVC 路由

jquery - MVC 4 : How to use the “partial validation” technique?