asp.net中,给RadioButtonList动态赋值?
<asp:RadioButtonListID="RadioButtonList1"runat="server"SelectedValue='<%#Eval("Score"...
<asp:RadioButtonList ID="RadioButtonList1" runat="server"
SelectedValue='<%# Eval("Score") %>' >
<asp:ListItem Value="O">100~90分</asp:ListItem>
<asp:ListItem Value="V">90~80分</asp:ListItem>
<asp:ListItem Value="G">80~70分</asp:ListItem>
<asp:ListItem Value="I">70~60分</asp:ListItem>
<asp:ListItem Value="U">60分以下</asp:ListItem>
</asp:RadioButtonList>
这是源码,现在有一个问题就是,当我要求从数据看读出数据动态显示后,如果这个Score 有值的话 相应的RadioButtonList会对应的勾选上,但是当我数据库中此项Score的值是空的时候(我相应的插入操作需求是可以插入空值的),就会报一个异常。
异常详细信息: System.ArgumentOutOfRangeException: “RadioButtonList1”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
小弟是新手,麻烦各位大哥大姐大虾大神们帮帮忙。。。
谢啦 展开
SelectedValue='<%# Eval("Score") %>' >
<asp:ListItem Value="O">100~90分</asp:ListItem>
<asp:ListItem Value="V">90~80分</asp:ListItem>
<asp:ListItem Value="G">80~70分</asp:ListItem>
<asp:ListItem Value="I">70~60分</asp:ListItem>
<asp:ListItem Value="U">60分以下</asp:ListItem>
</asp:RadioButtonList>
这是源码,现在有一个问题就是,当我要求从数据看读出数据动态显示后,如果这个Score 有值的话 相应的RadioButtonList会对应的勾选上,但是当我数据库中此项Score的值是空的时候(我相应的插入操作需求是可以插入空值的),就会报一个异常。
异常详细信息: System.ArgumentOutOfRangeException: “RadioButtonList1”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
小弟是新手,麻烦各位大哥大姐大虾大神们帮帮忙。。。
谢啦 展开
4个回答
展开全部
<%
RadioButtonList1.Items.Add(new ListItem("100~90分", "O"));
RadioButtonList1.Items.Add(new ListItem("90~80分", "V"));
RadioButtonList1.Items.Add(new ListItem("80~70", "G"));
RadioButtonList1.Items.Add(new ListItem("80~70", "I"));
RadioButtonList1.Items.Add(new ListItem("80~70", "U"));
string Score = "V";
ListItem item = RadioButtonList1.Items.Cast<ListItem>().Where(o => o.Value == Score).SingleOrDefault();
int index = RadioButtonList1.Items.IndexOf(item);
if (item!=null)
{
RadioButtonList1.SelectedIndex = index;
}
else
{
RadioButtonList1.Items.Add(new ListItem("数据库添加",Score));
}
%>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
</asp:RadioButtonList>
RadioButtonList1.Items.Add(new ListItem("100~90分", "O"));
RadioButtonList1.Items.Add(new ListItem("90~80分", "V"));
RadioButtonList1.Items.Add(new ListItem("80~70", "G"));
RadioButtonList1.Items.Add(new ListItem("80~70", "I"));
RadioButtonList1.Items.Add(new ListItem("80~70", "U"));
string Score = "V";
ListItem item = RadioButtonList1.Items.Cast<ListItem>().Where(o => o.Value == Score).SingleOrDefault();
int index = RadioButtonList1.Items.IndexOf(item);
if (item!=null)
{
RadioButtonList1.SelectedIndex = index;
}
else
{
RadioButtonList1.Items.Add(new ListItem("数据库添加",Score));
}
%>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
</asp:RadioButtonList>
追问
中间那一段没有看明白,如果要是在后台代码操作的话 应该如何去做呢?谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库中Score的值不要为空,设为 -1
更多追问追答
追问
我数据库的存储值为O V G I U,没有下标 要怎么设置呢?
追答
score 存放什么数据? 分数吗? 那如果默认值为 -1 表示就是没有分数啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单选按钮
追问
单选按钮感觉不太合适 - - 我用静态rbl已经算偷懒了额 - - 呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断啊
更多追问追答
追问
我想在RowDataBound里面做判断,可是娶不到当前行的rbl的值
string x = (e.Row.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue
会报微降对象引用实例 - -
一共是两个页面 一个页面做相应的插入操作 另一个是读取出来就行 - -
追答
那你就在页面有小脚本判断啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询