2012-05-30 84 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 –