【问题标题】:How to add asp button to dynamically genreated control如何将asp按钮添加到动态生成的控件
【发布时间】:2013-08-28 06:52:02
【问题描述】:

我有一个重写 Render() 并动态创建其 HTML 的控件, 这是它的简化版本:

 public class CReportBillReadings : Control
    {           
            protected override void Render(HtmlTextWriter writer)
            {
                base.Render(writer);
                writer.Write(Html);
            }  

                private string Html
                {
                    get
                    {                   

                        // render result table
                        var sb = new StringBuilder();             
                        sb.Append("<ul id=\"export\"><li><a href=\"#\" onclick=\"table_to_pdf(); return false;\"><img src=\"/resources/images/pdfIcon16x16.gif\" /></a></li></ul><div class=\"clear\"></div>");

等等。

它实际上是根据给定的数据绘制一个表格。

我想在 html 中添加一个 asp 按钮, 这样我就可以在服务器端注册它的事件。

我发现这样做的唯一方法是:

  1. 将此按钮添加到占位符 - 此处不适用,因为整个 HTML 是动态生成的。
  2. 添加一个 jquery 按钮 - 但我需要在服务器端处理事件。

我在这里读到了一个很有前途的线索: http://www.evagoras.com/2011/02/10/how-postback-works-in-asp-net/

但我仍然不知道如何使用它——因为在示例中我看到按钮仍然在 .aspx 中声明,而不是在代码中动态声明。

【问题讨论】:

  • 您要在多行上创建按钮吗?
  • 不,只是桌子上方的一个按钮

标签: javascript asp.net .net postback


【解决方案1】:

您可以从Button 控件而不是Control 继承您的控件。在这种情况下,您将拥有按钮的事件和所有其他属性。您还可以在覆盖的Render 方法中呈现表格。

【讨论】:

  • 但是如果我单击控件上的任何位置 - 它会触发单击事件,我只想在用户单击作为控件一部分的特定按钮时捕获事件。 >
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2011-09-17
相关资源
最近更新 更多