0

私がやりたいのは、次のものを作成することです

 for(int i = 0; i < numberOfAnswers; i++){
        imgString = imgString + "<td><asp:ImageButton id='" + questionName + "' ImageURL='Styles/unClicked.png' runat='server' /></td>";
    }

しかし、HTMLTextWriter を使用して文字列を書き出すと、タグを html に変換するのではなく、exsatly で書き出します。

それらを HTML で記述し、javascript を使用してメソッドを呼び出す必要がありますか、それともそれほど複雑にならずにこれを行う方法はありますか?

4

3 に答える 3

2

オブジェクトをインスタンス化してImageButton、ページの制御構造に追加する必要があります。次に、独自のマークアップをレンダリングしたり、イベントに登録したりします。

for(int i = 0; i < numberOfAnswers; i++){
    var ib = new ImageButton();
    var td = new HtmlTableCell();

    // assign values, like ID, Image URL, event handlers, etc. here
    ib.ID = "button_" + i;
    ib.ImageUrl = "foo";
    ib.Click += ( sender, e ) => {
        // anonymous event handler
    };

    // "container" can be any control on the page, such as a table row
    container.Controls.Add( td );
    td.Controls.Add( ib );
}
于 2012-08-01T10:52:19.353 に答える
1

HTML.Encode()メソッドを使用して文字列を書き出す

以下のURLを確認してください

http://www.dotnetperls.com/encode-html-string

于 2012-08-01T10:50:53.560 に答える
1
    for (var i = 0; i < 5; i++)
    {
        ImageButton imgBtn = new ImageButton();
        imgBtn.ID = "question" + i;
        imgBtn.ImageUrl = "Styles/unClicked.png";

        PlaceHolder1.Controls.Add(imgBtn);
    }

PlaceHolder1はrunatサーバーコントロールであり、生成されたボタンを追加します。

于 2012-08-01T10:59:33.790 に答える