【问题标题】:Using the Umbraco v7.2.1 Grid Layout in a Webforms project在 Webforms 项目中使用 Umbraco v7.2.1 网格布局
【发布时间】:2015-04-06 12:57:06
【问题描述】:

我有一个使用 Umbraco v7.2.1(最近从 6 升级)构建的网站,我正在尝试使用新的“简单编辑器”,它使用引导网格布局来允许用户动态添加列和行。

我设置了一个新的文档类型和母版页(当前以 Webforms 模式呈现),它基本上是空白的,我总是创建一个基本的主模板,然后一个用于主页,一个用于“其他”页面,两者都继承自主人(见下面的主人 -> 家的例子)

母版页:

<%@ Master Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title><umbraco:Item field="pageTitle" runat="server" /></title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js" type="text/javascript"></script>
    </head>
    <body>
        <asp:ContentPlaceHolder ID="body" runat="server">
        </asp:ContentPlaceHolder>
    </body>
</html>

主页大师

<%@ Master Language="C#" MasterPageFile="~/masterpages/PropertyProfessionalsMaster.master" AutoEventWireup="true" %>

<asp:Content ID="Content2" ContentPlaceHolderID="body" runat="server">

<umbraco:Macro runat="server" language="cshtml">

    @Model.Content.GetGridHtml("bodyContent")

</umbraco:Macro>

</asp:Content>

我尝试了一些方法,包括创建具有以下行的部分视图:

@CurrentPage.GetGridHtml("propertyAlias")

并且像我目前在上述母版页中所做的那样使用内联 Razor 宏,即使我只是将“Hello World”字样放入其中(实际上没有别的),部分视图在任何情况下都不会加载,它给了我一个“加载部分视图脚本时出错”。

我放弃了 Partial Views,认为它们根本无法很好地使用 Webforms 模式并使用 Razor(如果这是一个错误,请告诉我)。

使用上面的代码它什么也不呈现,它不会出错,这是一个开始,如果我将它交换为使用 @CurrentPage 它会出错,所以它必须在做某事,我只是不知道是什么。

我想利用新的网格布局编辑器,因为它们看起来很棒,但目前无法将我的整个网站转换为 MVC(它是一个大网站,需要几个月的时间来重建所有控件)。

有没有人有任何从网格布局呈现 JSON 数据的基本母版页的工作示例?

【问题讨论】:

  • 你可以在切换到razor 后发布你的母版页和主页吗?
  • 上面发布的示例是在母版页中使用内联 Razor (cshtml),我也尝试使用相同的剃刀线创建一个单独的宏,但它做了同样的事情并且似乎引入了一个额外的层出于问题的目的,我试图避免的复杂性(所以人们不会因为试图弄清楚宏为什么不起作用而挂断电话),这有帮助还是您需要查看其他内容?

标签: asp.net twitter-bootstrap webforms umbraco grid-layout


【解决方案1】:

GetGridHtml() 方法需要两个参数:第一个是要渲染的页面字段/属性的字符串别名;第二个是您要将此模型传递给的渲染编辑器模板。

例如:

@CurrentPage.GetGridHtml("body", "Foundation1")

...其中“body”是我的页面的字段名称(您将使用“bodyContent”),“Foundation1”是我使用的网格模板名称的名称,它位于 /Partials/ 下网格。

默认情况下,Umbraco 在此处创建两个局部视图:Bootstrap2 和 Bootstrap3(不知道 #1 去了哪里)。我喜欢使用其他 CSS 框架,所以在上面的示例中使用了 Foundation。

这能解决您的问题吗?

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2022-08-19
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多