获取数据控件里的raidobuttonlist

zwb521 2008-12-16 01:31:46
repeater里有个raidobuttonlist
repeater外有个button控件
想点击button获取raidobuttonlist的value值

我还这么写的
for (int i = 0; i < Rpt_list.Items.Count; i++)
{
RadioButtonList rbl=(RadioButtonList)Rpt_list.Items[i].FindControl("rbl_Tip");
string s=rbl.SelectedValue;
}
可明明RadioButtonList选择了值,确获取不到,使终为“”,并且无异常
...全文
157 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwb521 2008-12-16
  • 打赏
  • 举报
回复
谢谢criedshy
实在不行,我就只能换个方法了,虽然这是最好的方法
zwb521 2008-12-16
  • 打赏
  • 举报
回复
谢谢criedshy
实在不行,我就只能换个方法了,虽然这是最好的方法
zwb521 2008-12-16
  • 打赏
  • 举报
回复
rbl.Items[rbl.SelectedIndex].Value
rbl.SelectedValue
效果一样,我试了,输出还全是zx(选项已选择不同项了)
criedshy 2008-12-16
  • 打赏
  • 举报
回复
for (int i = 0; i < Rpt_list.Items.Count; i++) 
{
RadioButtonList rbl=Rpt_list.Items[i].FindControl("rbl_Tip") as RadioButtonList ;

if(rbl!=null)
Response.Write(rbl.Items[rbl.SelectedIndex].Value);
else
Response.Wtite("no value");
}


再试试
zwb521 2008-12-16
  • 打赏
  • 举报
回复
我把第一项选中
<asp:ListItem Value="zx" select=true>资讯 </asp:ListItem>
并且选择了其它项可打印全是zx
zwb521 2008-12-16
  • 打赏
  • 举报
回复
我把第一项选中
<asp:ListItem Value="zx" select=true>资讯 </asp:ListItem>

选择其它项后点击确定,输出的还是zx,更改后的状态根本就没提交到服务端哦
criedshy 2008-12-16
  • 打赏
  • 举报
回复
for (int i = 0; i < Rpt_list.Items.Count; i++) 
{
RadioButtonList rbl=Rpt_list.Items[i].FindControl("rbl_Tip") as RadioButtonList ;

if(rbl!=null)
Response.Write(rbl.SelectedValue);
else
Response.Wtite("no value");
}


看看打印什么
zwb521 2008-12-16
  • 打赏
  • 举报
回复
RadioButtonList是写上去的值,不是绑定的,

我跟踪了没什么问题,先执行的按钮事件,绑定事件根本就没走

zwb521 2008-12-16
  • 打赏
  • 举报
回复

<asp:Repeater ID="Rpt_list" runat="server">
<ItemTemplate>
viewstate默认为true
criedshy 2008-12-16
  • 打赏
  • 举报
回复
for (int i = 0; i < Rpt_list.Items.Count; i++)
{
RadioButtonList rbl=(RadioButtonList)Rpt_list.Items[i].FindControl("rbl_Tip");
string s=rbl.SelectedValue;
}

这个代码是可以找到RadioButtonList 的,不过你只能取最后一行的值的

我估计原因就是你点按钮的时候,重新绑定了repeater,导致RadioButtonList的数据丢失了,我建议你跟踪一下整个代码
takako_mu 2008-12-16
  • 打赏
  • 举报
回复
viewstate的問題,看下是不是為true
zwb521 2008-12-16
  • 打赏
  • 举报
回复
能打印出,当然也能取到了,呵呵
我感觉代码不应该有问题,就是不知哪里出了问题
zwb521 2008-12-16
  • 打赏
  • 举报
回复

<asp:RadioButtonList ID="rbl_Tip" RepeatColumns=10 runat="server" RepeatDirection=Horizontal>
<asp:ListItem Value="zx">资讯</asp:ListItem>
<asp:ListItem Value="kj">科教</asp:ListItem>
<asp:ListItem Value="ys">艺术</asp:ListItem>
<asp:ListItem Value="nx">女性</asp:ListItem>
<asp:ListItem Value="ly">旅游</asp:ListItem>
<asp:ListItem Value="yc">原创</asp:ListItem>
<asp:ListItem Value="sh">生活</asp:ListItem>
<asp:ListItem Value="gg">广告</asp:ListItem>
<asp:ListItem Value="zp">自拍</asp:ListItem>
<asp:ListItem Value="qc">汽车</asp:ListItem>
<asp:ListItem Value="bg">八卦</asp:ListItem>
<asp:ListItem Value="gf">购房</asp:ListItem>
<asp:ListItem Value="hy">韩娱</asp:ListItem>
<asp:ListItem Value="fz">法制</asp:ListItem>
<asp:ListItem Value="mnxc">美女秀场</asp:ListItem>
<asp:ListItem Value="dsj">大事件</asp:ListItem>
<asp:ListItem Value="jk">健康</asp:ListItem>
<asp:ListItem Value="it">IT</asp:ListItem>
<asp:ListItem Value="cj">财经</asp:ListItem>
<asp:ListItem Value="shjl">社会记录</asp:ListItem>
<asp:ListItem Value="sj">手机</asp:ListItem>
<asp:ListItem Value="dn">电脑</asp:ListItem>
<asp:ListItem Value="sm">数码</asp:ListItem>
<asp:ListItem Value="jypx">教学培训</asp:ListItem>
<asp:ListItem Value="yy">语言</asp:ListItem>
<asp:ListItem Value="ls">历史</asp:ListItem>
<asp:ListItem Value="zr">自然</asp:ListItem>
<asp:ListItem Value="wh">文化</asp:ListItem>
<asp:ListItem Value="js">军事</asp:ListItem>
</asp:RadioButtonList>

打印不出
zwb521 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 criedshy 的回复:]
<pages enableEventValidation="false" validateRequest="false" >
[/Quote]
加了,还是取不到,不过很感谢
dreamliliang 2008-12-16
  • 打赏
  • 举报
回复
而特让他
criedshy 2008-12-16
  • 打赏
  • 举报
回复
       for (int i = 0; i < Rpt_list.Items.Count; i++) 
{
RadioButtonList rbl=(RadioButtonList)Rpt_list.Items[i].FindControl("rbl_Tip");
Response.Write(rbl.SelectedValue);
}


你打印一下看看有没有值
criedshy 2008-12-16
  • 打赏
  • 举报
回复
<pages enableEventValidation="false" validateRequest="false" >
zwb521 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 criedshy 的回复:]
引用 13 楼 zwb521 的回复:
哭了
if(!Page.IsPostBack)
{
//在这加的绑定也不好用啊
}


不好用是什么意思?
[/Quote]

取不到RadioButtonList哦
baiyicug 2008-12-16
  • 打赏
  • 举报
回复
你一个页面里有好几个raidobuttonlist吧,你选中最后一个看看,看有没有值
zwb521 2008-12-16
  • 打赏
  • 举报
回复
对了,点击button时出现
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。

后我加了个 enableEventValidation="false"就不出错了,可就取不到radiobuttonlist
不知道是否和这有关
加载更多回复(15)

62,046

社区成员

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

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

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

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