C#asp dropdownlist数据绑定空数据集selectedindex

时间:2013-07-17 10:04:02

标签: c# asp.net data-binding

情况: 我正在使用可变SQL字符串填充DropDownList的SqlDatasource,该字符串取决于页面上的用户输入(根据需要使用不同的表)。设置适当的字符串后,我使用SqlDataSource的DataBind用适当的数据填充下拉列表,并手动为值添加一个选项(“All”)。我在页面的Page_Load中这样做(当我知道要使用什么SQL字符串时)。

问题: 只要SQL不返回空数据集,这样就可以正常工作。如果是,则页面最初加载空的下拉列表值,“All”除外。在那之后,无论我做什么(例如,点击一些完全不相关的按钮),我都会进入页面的NEXT Page_Load: System.ArgumentOutOfRangeException未被用户代码处理   Message ='KLFDDropDownList'有一个SelectedIndex,它是无效的,因为它在项目列表中不存在。 SelectedIndex值为0.

我做错了什么?

if (Typeselection == "3") KLFDSqlDataSource.SelectCommand = KLFDSQLhistorie; 
else KLFDSqlDataSource.SelectCommand = KLFDSQL; 
KLFDSqlDataSource.SelectParameters.Clear();
KLFDSqlDataSource.SelectParameters.Add("GBID", DbType.String, userName);
//User.Identity.Name); 
//TODO KLFDDropDownList.DataBind();

1 个答案:

答案 0 :(得分:0)

可能是你将dropdown选择索引作为其数据源的索引,因为从下拉列表中你得到索引0但是数据源是空的所以没有0索引