日期:2014-05-18  浏览次数:20413 次

下拉框问题
我在一个解决方案中给下拉框赋值 for (int i =1; i <= 10; i++)
  {
  ListItem item = new ListItem();
  item.Text = i.ToString();
  item.Value = i.ToString();
  DDL_SELECTYear.Items.Add(item);

  }
通过点击事件取值
string a = DDL_SELECT.Items[DDL_SELECT.SelectedIndex].Value.ToString();
这样取得的值是 -1

但是我重新新建一个解决方案后在页面做测试。同样是上面的代码。却可以获取到值。



------解决方案--------------------
计算机只可能犯硬件错误,
不会犯逻辑错误,
如果犯了逻辑错误,
那一定认为的。
------解决方案--------------------
总有什么对方有问题
------解决方案--------------------
你要确定你的DDL_SELECT.SelectedIndex是什么?是不是他的value就是-1
------解决方案--------------------
楼主,是不是建了两个dropdownlist啊?怎么一个id为DDL_SELECTYear,一个是DDL_SELECT?
------解决方案--------------------
检查你的Page_Load代码是不是没包含在:

if(!IsPostBack)
{
....
}
------解决方案--------------------
是否设置默认的选项 即默认选择第几项 如果没有选择 则上面取值代码可能出错
------解决方案--------------------
计算机 不会出错 你逻辑错误你如果 在第二个页面 直接取值 没有赋值 那肯定是没值得啊 怎么一个DDL_SELECTYear 一个DDL_SELECT
------解决方案--------------------
设置个断点看下初始化的时候赋了什么值,估计是空值的问题
你把DDL_SELECTYear.Items.Add(item);放到
ListItem item = new ListItem();
item.Text = i.ToString();
item.Value = i.ToString();
上面看看
我之前也碰到过初始化的问题,是由于不同事件的方法引起的,LZ可以尝试下,另外6楼的问题也是个问题,是不是事件弄错对象了?还是哪个就是自己给事件取的名字?