2010-08-06 145 views
1

我正在一個asp.net網站(使用C#)工作。作爲本網站數據輸入系統的一部分,我實施了詳細視圖。問題與.net動態控件生成

detailsview包含一個下拉列表,用於將一個類別與提交給該數據輸入系統的記錄相關聯。

背後文件中的代碼訪問一個數據源(一個SQL服務器2005的數據庫表),以確定與所選擇的類別和以生成複選框基於該類別

我明白可用字段控制相關聯的字段(我認爲).net頁面生命週期,以及在每個回發中添加動態控件以維護控件及其「狀態」的必要性。但是:

  • 我讀過,我必須在回傳添加動態控件在頁面生命週期的Page_Init /初始化階段,爲了使動態控件屬性和事件可用

  • 我需要查詢的數據源(並確定一個類別選擇的數量和動態控件的名稱)是在下拉列表中的SelectedIndexChanged事件處理程序,其中Page_init事件之後總是處理賦值

我不知道我怎麼能在頁面生命週期(在Page_init事件)正確的點傳遞所需值(下拉列表中的選擇指數)到Page_Init事件。

我將不勝感激從stackoverflow社區 任何指針/協助,並感謝您花時間閱讀這篇文章。

回答

0

你不必在init中添加控件,你也可以在page_load中添加它們。通常建議將它們添加到init中,因爲這是頁面生命週期中標記中定義的控件實例化的一個點。爲什麼需要分配值以確定是否應將控件添加到SelectedIndexChanged事件中。如果它基於下拉列表的SelectedValue,那麼您是否可以不訪問SelectedValue並將每個帖子上的值分配回來,即使它沒有更改。然後你可以在Page_Load中完成,然後添加你的控件。

+0

本的解決方案爲我工作。感謝所有回答我的問題的人,非常感謝。 – frank 2010-08-09 08:31:10

0

您之後的值被髮送回服務器,並且可以在Request.Form NameValueCollection中找到。關鍵是下拉列表的名稱。