我想要做的是创建以下
for(int i = 0; i < numberOfAnswers; i++){
imgString = imgString + "<td><asp:ImageButton id='" + questionName + "' ImageURL='Styles/unClicked.png' runat='server' /></td>";
}
但是当我使用HTMLTextWriter写出字符串时,它会把标签写出来,而不是将它们转换成html。
我是否必须用HTML编写它们并使用javascript来调用方法,或者有没有办法可以做到这一点而不会让它复杂化?
答案 0 :(得分: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 );
}
答案 1 :(得分:1)
答案 2 :(得分: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服务器控件,你想添加你生成的按钮。