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

时间:2013-08-28 06:52:02

标签: javascript asp.net .net postback

我有一个控件覆盖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按钮 - 但我需要在服务器端处理该事件。
  3. 我在这里读到了一个很有希望的领导: http://www.evagoras.com/2011/02/10/how-postback-works-in-asp-net/

    但我仍然无法弄清楚如何使用它 - 因为在我看到的例子中,按钮仍然在.aspx中声明,而不是在代码中动态。

1 个答案:

答案 0 :(得分:0)

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