如何将asp按钮添加到动态生成的控件中

How to add asp button to dynamically genreated control

本文关键字:控件 动态 asp 按钮 添加      更新时间:2023-09-26

我有一个覆盖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中声明的,而不是在代码中动态声明的。

您可以从Button控件而不是Control继承控件。在这种情况下,您将拥有按钮的事件和所有其他属性。您还可以使用重写的Render方法来渲染表。