【问题标题】:Generating repeated HTML code without a Repeater在没有中继器的情况下生成重复的 HTML 代码
【发布时间】:2018-05-21 20:39:58
【问题描述】:

如何在单击按钮时复制一个 html 块(例如,向非 ASP 表添加新行)?

我的第一个想法是使用 ASP 中继器。然而,中继器被设计为数据绑定。虽然有一些 workarounds 使用中继器来重复没有数据绑定的代码,但这似乎是错误的做法。

ASP.NET 必须有推荐的方法来执行此操作。我认为不必为此求助于 AJAX(提示您的响应的激光焦点在 AJAX 上......)。

我做了一个JSFiddle 来可视化这个问题,虽然我不一定要求 JS 解决方案:

示例 html:

<table>
  <thead>
    <th>Col1</th>
    <th>Col2</th>
  </thead>
  <tbody>
    <tr>
      <td><input type="text" value=""></td>
      <td><button>Button</button></td>
    </tr>
  </tbody>
</table>
<button>Add Row</button>

【问题讨论】:

  • 使用动态控件或用户控件。
  • “我认为不必为此求助于 AJAX(提示您的响应的激光焦点是 AJAX...)。”什么??
  • 为什么要避免使用数据绑定控件?
  • @SeaCharp 因为我没有将它绑定到任何数据。它只是一些空控件。
  • 表单提交后,文本框数据会怎么处理?

标签: c# html asp.net webforms


【解决方案1】:

您可以通过单击按钮复制行。为此,您需要将 Id 分配给 Row,然后通过在按钮的 onclick 属性中调用的 Javascript 函数中的 Id 获取此行。得到这个后,您可以将此行的 html 附加到表中最后添加的行。这样,您可以通过多次单击按钮来添加多行。希望这会对您有所帮助!

【讨论】:

    猜你喜欢
    • 2018-07-08
    • 2017-01-25
    • 2018-04-21
    • 2011-06-23
    • 1970-01-01
    • 2018-10-30
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多