【问题标题】:Kentico transformation textbox value in macro宏中的 Kentico 转换文本框值
【发布时间】:2017-08-13 10:45:32
【问题描述】:

我有一个带有文本框和一个按钮的 Kentico 转换,该按钮触发了一个自定义宏方法,该方法需要我在文本框中传递值。 如何使用 k# 访问它?

<input type="text" name="foo"/>
<asp:LinkButton runat="server" OnClick="<%# CustomMacroMethod(~foo.value~) %>" >Button</asp:LinkButton> 

有没有办法访问这个值?

【问题讨论】:

  • 首先,您不能在 ASCX 转换中使用宏。宏只能在 HTML 环境中使用。所以你需要在那里使用API​​。另外,您是要向那里传递一个值还是要从那里获取值。

标签: transformation kentico


【解决方案1】:

正确访问它的最佳方法是:

  1. 创建自定义静态方法,
  2. 添加一个custom transformation method 调用该自定义静态方法,
  3. 添加调用该自定义静态方法的宏方法。

这可能看起来有点矫枉过正,但它允许您在整个站点和 API 中使用相同的代码。

【讨论】:

  • 您是说没有简单的方法可以在转换中访问文本框的内容吗?这肯定不是真的……
  • 我只是说这将是一个最佳实践。您可以在转换中创建一个方法来完成这项工作,尽管 Kentico 的页面生命周期与标准的 asp.net 表单不同,因此您可能期望发生的事情很可能不会发生,除非您创建转换方法或自定义控件来处理这。看看其中包含“添加到购物车”按钮的电子商务转换。这应该让您对我在说什么有一个很好的了解。
【解决方案2】:

如果您正在使用转换并且想要使用宏 - 您需要调用宏解析器

谷歌“在转换中解析宏”有很多答案。

【讨论】:

  • 宏工作正常。我已经使用默认值对其进行了测试。这里的问题是获取文本框的内容并将其作为参数传递!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多