私のページの1つに次の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>
興味深いことに、これを別のアプリケーションに投稿しましたが、すべてのコントロールが表示されていても問題なく動作します。
これは、イベントが呼び出される順序に問題がありますか?私は次に何を試すべきかについて少し途方に暮れているので、どんなアドバイスも素晴らしいでしょう。
ありがとう、
オリバー