10

追加する必要がある項目のラジオ ボタン リストがあります。Page_Load

aspx コード

<asp:radioButtonList ID="radio1" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
</asp:radioButtonList>

コードビハインド

protected void Page_Load(object sender, EventArgs e)
{
    RadioButtonList radioList = (RadioButtonList)Page.FindControl("radio1");
    radioList.Items.Add(new ListItem("Apple", "1"));
}

制御が到達した後radioList.Items.Add

Object reference not set to instance of an object エラーが発生し続けます

私は何を間違っていますか?

4

4 に答える 4

21

FindCONtrol を実行する必要はありません。runat="server" 属性を使用したので、「radio1」という名前で RadioList の参照を取得するだけです。

protected void Page_Load(object sender, EventArgs e)
{
    radio1.Items.Add(new ListItem("Apple", "1"));
}
于 2013-08-12T15:13:46.627 に答える
3

使用することで

RadioButtonList radioList = (RadioButtonList)Page.FindControl("radio1");
radioList.Items.Add(new ListItem("Apple", "1"));

リストをページのコントロールに追加するのではなく、radioList というインスタンス化されていない Radiobuttonlist に追加します。

クラスからページにアクセスできる場合は、

radio1.Items.Add(new ListItem("Apple", "1"));
于 2013-08-12T15:15:36.587 に答える