0

radiobuttonlistページの後ろのコードでイベントを添付します。radiobuttonlistは内部にあります。プログラムを実行すると、「オブジェクト参照がオブジェクトのインスタントに設定されていません」
listviewというエラーが生成さ れます。

.aspxコード:

<asp:ListView ID="ListView1" runat="server" >
  <ItemTemplate>
       <tr><td>
  <asp:RadioButtonList ID="radiobuttonlist4" runat="server" AutoPostBack="true" 

        RepeatDirection="Horizontal"
        OnSelectedIndexChanged="selected" Width="240px">
    <asp:ListItem  Value="agree"></asp:ListItem>
       <asp:ListItem Value="disagree"></asp:ListItem>
          <asp:ListItem Value="strongagree"></asp:ListItem>
             <asp:ListItem Value="strongdisagree"></asp:ListItem>
    </asp:RadioButtonList>




</td>
       </tr>
  </ItemTemplate>
 </asp:ListView>

.aspx.csコード

assessdal s = new assessdal();

ListView1.DataSource = s.showop1();
ListView1.DataBind();
RadioButtonList list=  ListView1.FindControl("radiobuttonlist4") as RadioButtonList;

list.SelectedIndexChanged += new EventHandler(handle);

public void handle(object sender, EventArgs e)
{
    Label2.Text = "y";      
}
4

2 に答える 2

1

まず、コードの大量のタイプミスを修正しました。

第 2 に、ページ (またはそれが存在するコントロール階層) ではなくFindControlで呼び出され、そのインスタンスの子コントロール内のみ を検索するため、それが見つかりません。ListView1FindControl

ページで検索してみPage.FindControl("radiobuttonlist4")てください。

于 2012-05-30T16:57:52.163 に答える