2012-05-30 109 views
0

我在代碼隱藏頁附上事件與radiobuttonlist訪問控制,RadioButtonList的是
listview。當我裏面運行程序會生成一個錯誤: 「對象全球化志願服務青年未設置爲即時物體」的如何在.aspx頁面

的.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";  
} 
+1

請格式化您的代碼,哪個listview的模板是RadioButtonList? –

+0

soory,在.aspx代碼中有radiobuttonlist控件,在複製代碼時,它被錯過了。 – user1405508

+0

@ user1405508:爲什麼不正確地編輯你的問題?所以其他人可以幫助! –

回答

1

首先,我在代碼中修復了大量的錯別字。

其次,它沒有找到它,因爲FindControl正在呼籲ListView1,而不是頁面(或者在它存在的控制層次)和FindControl只關注該實例的子控件中。

嘗試Page.FindControl("radiobuttonlist4")在頁面中查找。

+0

但radiobuttonlist是在列表視圖.so我們在列表視圖中找到 – user1405508

+0

但radiobuttonlist在列表視圖.so我們發現它在列表視圖 – user1405508

0

您應該在aspx上聲明附加事件處理程序,這是最簡單的方法。

<asp:RadioButtonList ID="radiobuttonlist4" runat="server" AutoPostBack="true" 
    RepeatDirection="Horizontal" 
    OnSelectedIndexChanged="selected" 
    Width="240px"> 
</asp:RadioButtonList> 

由於ListView可以包含多個項目,控制的NamingContainer在它的Itemtemplate不是ListView,但ListViewItem。這可以確保每個控件都在客戶端獲得唯一的ID。

所以,你可以在這樣的按鈕的單擊事件處理程序找到你的RadioButtonList

var button = (Button)sender; 
var item = (ListViewItem)button.NamingContainer; 
var radiobuttonlist4 = (RadioButtonList)item.FindControl("radiobuttonlist4"); 

如果要「尋找」單選按鈕列表在它的SelectedIndexChanged事件,簡單地把sender參數accordingingly(var rbl = (RadioButtonList)sender;) 。

+0

感謝幫助我.... – user1405508

+1

@ user1405508:記得接受如果它解決了你的問題的答案。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –