C#下拉列表数据绑定在索引中选择的空数据集



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

问题:只要SQL不返回空数据集,这就可以正常工作。如果是这样,页面最初加载时会使用除"全部"之外的空下拉列表值。之后,无论我做什么(例如,单击一些完全无关的按钮),我都会进入页面的NEXT Page_Load:用户代码未处理System.ArgumentOutOfRangeException消息="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();

可能是您正在传递下拉选择的索引作为其数据源的索引,因为从下拉列表中您得到的是索引0,但数据源是空的,因此没有0索引

最新更新