RadioButtonList在repeater中绑定的问题
在一个repeater中的Radiobuttonlist想用绑定于repeater的值,该怎么做?
我是这样写的
前台(代码是在repeater中,repeater已绑定数据):
<asp:RadioButtonList ID= "zj " runat= "server " RepeatDirection= "Horizontal " CssClass= "Use12 ">
<asp:ListItem Value= "0 " Selected= <%# IsSelect(DataBiner.Eval(Container.DataItem, "zj ").ToString(), "0 ") %> > 中介 </asp:ListItem>
<asp:ListItem Value= "1 " Selected= <%# IsSelect(DataBiner.Eval(Container.DataItem, "zj ").ToString(), "1 ") %> > 非中介 </asp:ListItem>
</asp:RadioButtonList>
.CS==================
protected bool IsSelect(string zj,string rvalue)
{
if (zj == rvalue)
{
return true;
}
else
{
return false;
}
}
这些是在一个大的repeater里面的,但是报错如下:
分析器错误信息: 仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.ListItem 没有 DataBinding 事件。
------解决方案--------------------
------解决方案--------------------不能这样写的;你需要在Repeater1_ItemDataBound这个事件里面去直接绑定你的Radiobuttonlist
------解决方案-------------------- <asp:ListItem Value= "1 " Selected= <%# IsSelect(DataBiner.Eval(Container.DataItem, "zj ").ToString(), "1 ") %> > 非中介 </asp:ListItem>
------------
不要这样写。。。
这样写
<asp:ListItem Value= "1 "> 非中介 </asp:ListItem>
在后台CS代码的Repeater1_ItemDataBound中写
RadioButtonList rbl = (RadioButtonList)e.Item.FindControl( " ");
rbl.Selected = " ";
------解决方案--------------------应该为:
RadioButton rbl = (RadioButtonList)e.Item.FindControl( "rb1 ");
rbl.Selected = " ";
------解决方案--------------------没有明白你到底是什么意思.不知道是不是你要的。
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item)
{
RadioButtonList rbl1 = (RadioButtonList)e.Item.FindControl( "rbl ");
rbl1.DataSource = Repeater1.DataSource;
rbl1.DataBind();
rbl1.SelectedItem.Text = Repeater1.Items[e.Item.ItemIndex].DataItem;
}
}
------解决方案--------------------你把男,女都放到数组里不就可以了。string[] sex={ "男 ", "女 "};
然后绑定数组就可以了。
------解决方案--------------------