在Web开发过程中,使用下拉列表
服务器控件在页面中,
发现一个很奇怪的问题,在
背景选择页面没有关系,价值总是要很长一段时间的值的第一个没有找出问题所在,在DropDownList控件已被用于发展很多时候,其他的
控制代码是相同的!
几分钟后,很难看出问题出在哪里。我们必须在网上
搜索答案。事实上,许多人在互联网上也有同样的问题。DropDownList总是选择第一项。互联网的
解决方案是使用如果(或IsPostBack)在page_load事件当DropDownList是必然的,但我没有办法解决它。
后来,他默默地想,是不是因为自己的绑定DropDownList的时间,只有
任务的
文本,而不是分配价值的
原因吗然后我试着给每个项目赋值,但没有这样的东西!
现在总结的原因有两个,DropDownList控件总是选择第一项。
案例一,请看下面的代码:
客户端代码:
服务器端代码:
protected void page_load(object sender,EventArgs e)
{
BindDropDownList();
}
private void()BindDropDownList
{
(ddl1。物品。清); / /每次绑定之前,首先
删除所有项目
对于(int = i 1;i < 3;i + +)
{
ListItem item1 =新的ListItem();
第一条。文本=第一+ i.tostring()+项目;
Item1.Value = first + i.ToString () + item;
ddl1.items.add(第一条);
}
}
上面的代码案例始终是Internet上选择的第一个项目。(
选项不能更改)。结合的
方法是用如果(IsPostBack),和代码如下。
protected void page_load(object sender,EventArgs e)
{
如果(!IsPostBack)
{
BindDropDownList();
}
}
第二种
情况,那就是我遇到的,请看下面的代码:
客户端代码:
服务器端代码:
protected void page_load(object sender,EventArgs e)
{
如果(!IsPostBack)
{
BindDropDownList();
}
}
private void()BindDropDownList
{
(ddl1。物品。清); / /每次绑定之前,首先删除所有项目
对于(int = i 1;i < 3;i + +)
{
ListItem item1 =新的ListItem();
第一条。文本=第一+ i.tostring()+项目;
第一条。值= ;
ddl1.items.add(第一条);
}
}
protected void btnget_click(object sender,EventArgs e)
{
字符串ddl1.selecteditem.text;
Page.Clientscript.RegisterStartupscript(this.gettype(),警惕
}
注:1。价值是一个地方,没有任务,但是获得的文本的价值是无序的,只要给出值值是没有问题的!
以上是关于大多数人在互联网上遇到的同样的问题。DropDownList总是选择第一个解决方案,有助于大家的
学习。