0

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>");

等々。

実際に行うことは、与えられたデータに従ってテーブルを描画することです。

サーバー側でそのイベントに登録できるように、 asp ボタンを html に追加したいと考えています。

これを行うために私が見つけた唯一の方法は次のとおりです。

  1. このボタンをプレース ホルダーに追加します。HTML 全体が動的に生成されるため、ここでは適用できません。
  2. jquery ボタンを追加しますが、サーバー側でイベントを処理する必要があります。

ここで有望なリードについて読みました: http://www.evagoras.com/2011/02/10/how-postback-works-in-asp-net/

しかし、私はまだそれを使用する方法を理解できません。例では、ボタンが.aspxでまだ宣言されており、コードで動的に宣言されていないためです。

4

1 に答える 1