我搜索了幾天,但沒有找到解決方案。所以這是我的場景:在GridView中使用DropDownList的值插入新條目
我有一個DataBindung到數據庫和DefaultMode設置爲「插入」作爲一個新的數據庫條目的輸入形式的DetailView。此DetailsView中的一個字段是帶有包含DropDownList的InsertItemTemplate的TemplateField。此DropDownList也與另一個SqlDataSource有界,使用select參數「UserID」爲實際登錄用戶獲取數據庫的所有行。這些行顯示在我的DropDownList中,當我在瀏覽器中查看源代碼時,我看到正確的「選項」 - 在所有那些漂亮的db-id中都有對應的值。所以這一切都很好。
現在我按下我的插入按鈕將我的數據發送回服務器。但是,當試圖從DetailsView1_ItemInserting()中的DropDownList中使用以下代碼獲取選定值時,我會得到一個空值。
var list = (DropDownList)DetailsView1.Rows[0].FindControl("DropDownList1");
InsertEntryDataSource.InsertParameters["DropDownList1Value"].DefaultValue = list.Items[list.SelectedIndex].Value;
相同的代碼與我在此項目中創建的另一個表單一起工作。唯一的區別是,另一個DropDownList綁定到一個DataSource,而沒有必須在運行時設置的選擇參數(當前登錄的用戶ID)。
我的恢復是DropDownList的是回傳後空,因爲數據綁定還沒有完成。因此,我爲SqlDataSource設置了select-parameter,我的DropDownList被限制在DetailsView1_ItemInserting()中 - 現在上面的代碼獲得了我的價值。
但:我只是測試形式的另一種時間,我確定,不管我選擇在我的DropDownList哪個條目,我得到第一入境總是價值!整個過程似乎清除我DropDownList的SelectedIndex - 所以現在我有一個值插入而不是null,但它是錯誤的。 :-(
所以我的問題:我如何可以訪問DetailsView1_ItemInserting我的DropDownList的選定值(),將其保存到數據庫中預先
感謝, Anheledir