2012-06-19 39 views
2

我是C#和Asp.Net的新手,所以這個問題聽起來可能會重複,但我無法爲這個特定問題找到解決方案。事件處理程序不會被動態創建的複選框

我在HTML頁面上有兩個按鈕,在.cs文件中有一個類。在其中一個按鈕點擊上,我通過編程(動態)創建了一個表。 該表包含一些也是動態創建的複選框。 創建表是我執行的最後一項任務之一。在此之前,我讀了幾個文件並從中提取數據來創建表。繪製表格後,用戶可以選擇一個或多個複選框。

現在,如何在第二次點擊按鈕時,我可以知道在頁面重新載入之前哪個複選框已被檢查?目前,我已經完成了.cs文件中唯一類的所有這些複選框成員變量。

我試着通過C#代碼添加複選框事件處理程序。但是當複選框被選中時,處理程序不會被調用。我不想將複選框的'autopostback'屬性設置爲true,因爲如果它設置爲true,則在選中其中一個複選框後,頁面將重新加載。用戶應該能夠選擇多個複選框。

+0

什麼是你的複選框事件編寫代碼處理程序?也許我以前有類似的問題,你的代碼。 –

+1

請看這個答案:http://stackoverflow.com/questions/7495486/button-click-event-not-firing-within-use-control-in-asp-net/7495550#7495550 –

回答

0

動態添加您的複選框併爲每個複選框設置一個唯一的名稱。如果複選框被選中,複選框只會被髮回服務器,所以您可以通過檢查Request.Form來查看它是否被檢查以查看名稱是否存在。例如,假設你命名你的複選框chk_ [0-9](即chk_0,chk_1等至9),你可以檢查他們是否打勾做:

for(int i=0; i < 10; i++) 
{ 
    string chk_name = "chk_" + i.ToString(); 
    if (Request.Form[chk_name] != null) 
    { 
     //checkbox is checked 
    } 
    else 
    { 
     //checkbox is not checked 
    } 
} 
+0

BlackSpy,你太棒了!這解決了它。 @Alberto Solano,Valamas,Jupaol:謝謝你們的幫助! – user1465266

相關問題