asp.net的DropDownList如何后台设置默认值

菜鸟狂飞 2011-10-20 04:32:36
DropDownList1.Text = "男";
这样可以设置,

但是,读取数据库这样
DropDownList1.Text = read["Sex"].ToString();
就不能设置了。

这样
string str = read["Sex"].ToString();
DropDownList1.Text = str;
也不可以。

为什么啊?


Response.Write(str);
是有东西的。

这个如何解决,先谢过了
...全文
949 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
风骑士之怒 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiang348352 的回复:]
引用 1 楼 net_lover 的回复:

ListItem x = DropDownList1.Items.FindByText(read["Sex"].ToString());
if(x!=null) x.Selected=true;


也是不行,加个else后会执行else的代码,但是Response.Write(read["Sex"].ToString())的值是"男"。
……
[/Quote]

没有执行else里面的代码,你在哪里执行的?
菜鸟狂飞 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wknight_it 的回复:]

Response.Write(str);
是有东西的

这东西在DropDownList元素里面,有匹配的元素吗,你看了没有,注意是和<asp:ListItem Value="c">啊啊啊</asp:ListItem>元素的Value匹配。。。

如果有匹配的,你可以处理一下str的空白字符,如str.Trim();
[/Quote]

是因为空白字符,大意了...
非常感谢
菜鸟狂飞 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]

ListItem x = DropDownList1.Items.FindByText(read["Sex"].ToString());
if(x!=null) x.Selected=true;
[/Quote]

也是不行,加个else后会执行else的代码,但是Response.Write(read["Sex"].ToString())的值是"男"。

前台代码是这个,为什么会是null呢?
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Text="保密" Value="保密">保密</asp:ListItem>
<asp:ListItem Text="男" Value="男">男</asp:ListItem>
<asp:ListItem Text="女" Value="女">女</asp:ListItem>
</asp:DropDownList>

后台

string strSex = read["Sex"].ToString();
Response.Write(strSex); // 输出"男"
ListItem x = DropDownList1.Items.FindByText(strSex);
if (x != null)
x.Selected = true;
else
Response.Write("sdfsdf"); // 执行这段代码
风骑士之怒 2011-10-20
  • 打赏
  • 举报
回复
Response.Write(str);
是有东西的

这东西在DropDownList元素里面,有匹配的元素吗,你看了没有,注意是和<asp:ListItem Value="c">啊啊啊</asp:ListItem>元素的Value匹配。。。

如果有匹配的,你可以处理一下str的空白字符,如str.Trim();
andylaudotnet 2011-10-20
  • 打赏
  • 举报
回复
DropDownList1.Items.FindByText(read["Sex"].ToString()).Selected = true;
风骑士之怒 2011-10-20
  • 打赏
  • 举报
回复
read["Sex"].ToString()的值在DropDownList1中没有相同value的元素
zell419 2011-10-20
  • 打赏
  • 举报
回复
ddl.Items[i].Selected = true;
coley 2011-10-20
  • 打赏
  • 举报
回复
x.selectedIndex=0?1;
孟子E章 2011-10-20
  • 打赏
  • 举报
回复
ListItem x = DropDownList1.Items.FindByText(read["Sex"].ToString());
if(x!=null) x.Selected=true;

62,041

社区成员

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

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

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

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