我的一个页面上有以下 C# 代码:
protected override void Render(HtmlTextWriter writer)
{
//an array named fieldNames is delcared here
writer.Write("<form id=\"Form1\" runat=\"server\" action=\"\">");
writer.Write("<asp:checkboxlist id=\"checkBoxes\" runat=\"server\">");
for (int count = 0; count < fieldNames.GetLength(0); count++)
{ //iterates over the array of field names
writer.Write("<asp:listitem text=" + fieldNames[count] + " value=" + fieldNames[count] + "/>");
}
writer.Write("</asp:checkboxlist>");
writer.Write("</form>");
}
目的是创建一个已动态设置其属性的复选框列表。
运行时,这不会引发任何错误,但页面上不会出现任何控件。
当我查看页面的源代码时,我得到以下 html:
<form id="Form1" runat="server" action="">
<asp:checkboxlist id="checkBoxes" runat="server">
<asp:listitem text='Spares Part No' value='Spares Part No'/>
<asp:listitem text='Description' value='Description'/>
<asp:listitem text='Site' value='Site'/>
<asp:listitem text='Rack/Bin Number' value='Rack/Bin Number'/>
</asp:checkboxlist>
</form>
出于兴趣,我将其发布在另一个应用程序中,它运行良好,所有控件都显示出来。
这是事件调用顺序的问题吗?我不知道接下来要尝试什么,所以任何建议都会很棒。
谢谢,
奥利弗