Situation: 我使用一個變量SQL字符串填充DropDownList的SqlDatasource,該字符串取決於頁面上的用戶輸入(根據需要使用不同的表格)。在設置適當的字符串之後,我使用SqlDataSource的DataBind來填充下拉列表中的相應數據,然後手動向這些值添加一個選項(「全部」)。我在頁面的Page_Load中執行此操作(這是當我知道使用什麼SQL字符串時)。C#asp dropdownlist databind empty dataset selectedindex
問題: 這工作正常,只要SQL不返回一個空的數據集。如果是,則頁面最初加載空的下拉列表值,但「全部」除外。之後,無論我做什麼(例如,單擊一些完全無關的按鈕),我都會進入頁面的下一頁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();
這應被標記asp.net,不是經典的 – John