【问题标题】:Passing data to control from kentico transformation将数据从 kentico 转换传递给控制
【发布时间】:2014-11-11 06:06:57
【问题描述】:

我正在尝试将通过 kentico cms 中的转换检索到的自定义表字段的值传递给自定义用户控件。

为了解释我的设置,在我的主文件中,我有一个 QueryUniView 控件,它调用转换“SelectedStoreInformation”。在这个转换中,我有标记,我可以使用以下方法打印出我正在寻找的字段:

<%# Eval("StoreCodeName") %>

但是,我需要将此值传递给自定义用户控件,并希望能够检查后面代码中的值。所以我继续在后面的代码中添加一个属性,并在服务器标签本身上设置这个属性,假设该值会通过。

自定义控件代码后面的属性:

public string StoreName { get; set; }

服务器标签包括(这是在转换中拉入自定义控件):

<cms:Hours ID="Hours" StoreName='<%# Eval("StoreCodeName") %>' runat="server" />

但是 StoreName 在后面的代码中为空。如果我将标签上 StoreName 的值更改为静态文本字符串,它就可以正常工作。

我的困惑是为什么当我将字段的 Eval 放在服务器标签正上方但在服务器标签中不起作用时,它会起作用?

感谢您的帮助,抱歉问题太长了。

Kentico v6

【问题讨论】:

  • 我的类后面的控制代码继承自 CMSAbstractWebPart
  • 这并不是说 Eval 在 server 标签中不起作用 - 它可能只是稍后才评估。检查您是否过早访问该物业。我建议在 OnDataBinding 或 OnPreRender 中使用它的值。
  • @rocky 做到了!非常感谢。我觉得我已经为此苦恼了好几天。
  • 没问题,很高兴为您提供帮助;)

标签: c# asp.net webforms user-controls kentico


【解决方案1】:

并不是说 Eval 在 server 标签中不起作用 - 它可能只是稍后才评估。检查您是否过早访问该物业。我建议在 OnDataBinding 或 OnPreRender 中使用它的值。

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 2021-04-27
    • 2021-08-13
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多