RadioButtonList在repeater中绑定的问题

hnyou 2007-04-09 03:08:54
在一个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 事件。
...全文
668 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2007-04-10
  • 打赏
  • 举报
回复
不知道楼主是不是这个意思~
阿非 2007-04-10
  • 打赏
  • 举报
回复
失手按提交了,应该为:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item)
{
RadioButtonList rbl1 = (RadioButtonList)e.Item.FindControl("rbl");
if(Repeater1.Items[e.Item.ItemIndex].DataItem=="男")
rbl1.Items[0].Selected=true;

}
}
阿非 2007-04-10
  • 打赏
  • 举报
回复
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item)
{
RadioButtonList rbl1 = (RadioButtonList)e.Item.FindControl("rbl");
if(Repeater1.Items[e.Item.ItemIndex].DataItem=="男")
Items[0].Selected=true;

}
}
aryou 2007-04-10
  • 打赏
  • 举报
回复
这个问题难道真的没人能解决?
aryou 2007-04-10
  • 打赏
  • 举报
回复
d
hnyou 2007-04-10
  • 打赏
  • 举报
回复
up
hnyou 2007-04-10
  • 打赏
  • 举报
回复
错了,,有点错误,后来给找出来了。。。

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//选择是否中介
RadioButtonList zj1 = (RadioButtonList)e.Item.FindControl("zj");
HiddenField hzj = (HiddenField)e.Item.FindControl("Hzj");

if (hzj.Value.ToString() == "1")
{
zj1.Items[1].Selected = true;
}
else
{
zj1.Items[0].Selected = true;
}

//填充行业
string sql = "select * from hangye order by px";
DataSet ds = aryou.Myset(sql);
ListBox listb1 = (ListBox)e.Item.FindControl("hy1");
listb1.DataSource = ds;
listb1.DataBind();

//读取行业的值
HiddenField hy = (HiddenField)e.Item.FindControl("Hhy");
//Response.Write(hy.Value.ToString());

//选中已选择的行业
foreach (ListItem lis1 in listb1.Items)
{
if (hy.Value.ToString().IndexOf((lis1.Value.ToString() + ",")) > -1)
{
lis1.Selected = true;
}
}
}

这个才是正确的,,包括一个可多选的listbox。。。
antiking 2007-04-10
  • 打赏
  • 举报
回复
晕!
hnyou 2007-04-10
  • 打赏
  • 举报
回复
晕死了,,开了三个贴也没问出来解决方法,最后还是自己摸索出来了。。。不过还是感谢各位。。

虽然可能不是最佳方法,不过还是贴出来给以后和我一样的新手参考

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//选择是否中介
RadioButtonList zj1 = (RadioButtonList)e.Item.FindControl("zj");
if (zj1.SelectedValue == "1")
{
zj1.Items[0].Selected = false;
zj1.Items[1].Selected = true;
}
else
{
zj1.Items[1].Selected = true;
zj1.Items[0].Selected = false;
}
}
hnyou 2007-04-10
  • 打赏
  • 举报
回复
晕啊,两天了还没解决。。。

给我一个别的方法也可以啊。。。
aryou 2007-04-10
  • 打赏
  • 举报
回复
d
aryou 2007-04-10
  • 打赏
  • 举报
回复
e.Item.ItemType == ListItemType.Item  这句是什么意思?
hnyou 2007-04-09
  • 打赏
  • 举报
回复
.................

但是我还要从数据库中读取值,然后确定应该选中 男 还是 女。。。。。。

这是个很常见的东西啊,,,难道解决不了???
antiking 2007-04-09
  • 打赏
  • 举报
回复
你把男,女都放到数组里不就可以了。string[] sex={"男","女"};
然后绑定数组就可以了。
hnyou 2007-04-09
  • 打赏
  • 举报
回复
up~~
hnyou 2007-04-09
  • 打赏
  • 举报
回复
是这样的~~

现在我有一个注册页面,注册的时候可以选择性别(男、女),然后存到数据库中:男保存为“1”,女保存为“2”。。

注册过以后,用户可以修改自己的资料。。。

现在是修改资料页面,我把用户注册的资料绑定到repeater1中,repeater1中,包含一个radiobuttonlist,然后根据用户以前选择的性别预先选好,再让用户修改,就是这样,很常见的一个问题。。。

问了半天也没找到一个解决的方法,郁闷~~~
antiking 2007-04-09
  • 打赏
  • 举报
回复
没有明白你到底是什么意思.不知道是不是你要的。
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;
}
}
hnyou 2007-04-09
  • 打赏
  • 举报
回复
d
hnyou 2007-04-09
  • 打赏
  • 举报
回复
编译器错误信息: CS0117: “System.Web.UI.WebControls.RadioButtonList”并不包含“Selected”的定义

还有,就算有 “Selected”的定义 ,我怎么取数据库中的值啊? 要根据数据库中的值来判断选择那一个Item的
bookshop 2007-04-09
  • 打赏
  • 举报
回复
应该为:
RadioButton rbl = (RadioButtonList)e.Item.FindControl("rb1");
rbl.Selected = "";
加载更多回复(6)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧