2011-12-23 23 views

回答

1

如果您希望在回發中使用它們的值,則必須在page_init中添加任何動態控件。

例如:

void Page_Init(object Sender, System.EventArgs e) 
{ 
    var oList = new CheckBoxList(); 
    // Populate the values in the list 
    this.Controls.Add(oList); 
} 
+0

如果動態意味着ajax - 所以它不相關... – 2011-12-23 10:04:29

+0

請詳細示例? – Shah 2011-12-23 10:05:29

+0

@ user1057735:我已經添加了一個示例 – 2011-12-23 10:10:09

1

如果動態地添加CheckBoxList的 - 你將有對後一個問題 - 因爲生成的HTML並不像貼一個 - 所以你會需要在頁面標籤禁用頁面驗證。之後

- youll能與asp.net檢索值:的Request.Form [名稱...]

0

你應該閱讀有關ASP.NET頁生命週期理解ASP.NET行爲更好。 在這種情況下,如果您需要某些其他行爲(如主題等),則需要在PreInit中添加動態控件。否則,您可以使用Init Event添加動態控件。無論如何,Microsoft建議使用PreInit來「創建或重新創建動態控件」。

你可以在here找到該信息等等。

Ofcourse,我說的是使用服務器端來做到這一點。

protected override void OnPreInit(EventArgs e) 
{ 
    base.OnPreInit(e); 

    //add checkbox here 

} 

如果你需要做的是,在客戶端,您可以使用隱藏域(服務器端),以跟蹤複選框選中值或使用該請求爲他人在這裏已經告訴。