0

我想要做的是创建以下

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

但是当我使用 HTMLTextWriter 写出字符串时,它 attualy 将标签写出 exsatly 而不是将它们转换为 html。

我是否必须用 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() 方法写出字符串

检查以下网址

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 回答