【问题标题】:How to access the values of web part properties in the layout?如何访问布局中 Web 部件属性的值?
【发布时间】:2017-07-12 04:27:20
【问题描述】:

在 Kentico 文档中,我只找到了如下信息...

有什么方法可以访问布局中的属性值,如下所示?我尝试使用宏,但它不起作用。

我只想在我的自定义布局中显示属性值。除了通过代码访问还有什么方法?我正在使用门户引擎,我不知道如何访问背后的代码......

【问题讨论】:

    标签: kentico


    【解决方案1】:

    布局为ASCX,因此您将无法按照您的示例使用宏。

    • 如果只需要值,可以使用GetValue方法。还有GetStringValue,如果您的属性类型是string
        <% GetStringValue("MyPropertiesValue1", string.Empty); %>
    
    • 如果您需要呈现该值,则需要调用Page.DataBind() 并使用数据绑定表达式。您的布局将如下所示:
        <%# GetStringValue("MyPropertiesValue1", string.Empty) %>
        <%# GetStringValue("MyPropertiesValue2", string.Empty) %>
    
        <script runat="server">
            protected void Page_Load(object sender, EventArgs e)
            {
                Page.DataBind();
            }
        </script>
    


    如果这真的很优雅,则没有,因此您可能需要重新考虑您的方法。

    【讨论】:

    • 不太明白为什么函数需要传入string.Empty 作为参数,因为我得到的值没有设置任何值。
    • 如果我想将值分到html标签属性中,如何正确放置?喜欢&lt;h1 class="&lt;% GetStringValue("MyPropertiesValue1", string.Empty) %&gt;"&gt;&lt;/h1&gt;
    • string.Empty 参数是默认值。因此,如果MyPropertiesValue1 的值为null,则GetStringValue 将返回string.Empty
    • 关于您的 h1 标签 - 确保添加 # 以使其成为数据绑定表达式。 &lt;h1 class="&lt;%#GetStringValue("MyPropertiesValue1", string.Empty) %&gt;"&gt;Title&lt;/h1&gt;
    • 谢谢! @克里斯蒂安·博特尼克
    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    相关资源
    最近更新 更多