簡體   English   中英

ASP.NET從Repeater獲取所有復選框

[英]ASP.NET Get all checkboxs from Repeater

我使用中繼器在“內容”頁面中生成復選框,

兩個復選框都有唯一的ID,

但是,復選框是通過循環字符串生成的

<input id=\"Checkbox" + i+ "-" + j + "\" type=\"checkbox\" name=\"CollapseID" + i + "\" />

它可以正確顯示在網頁中,並帶有正確的ID及其名稱。 而且,我可以通過javascript控制它。

我想問一下,我怎么知道那些復選框是否在服務器端被選中?

我嘗試使用下面的代碼,但返回null。

foreach (Control control in this.Page.Form.Controls)  
{  
    if (control is CheckBox)  
    {  
        string checkboxValue = ((CheckBox)control).Text;  
    }
}

另外,我嘗試了:

Control chk = FindControl("Checkbox1-1"); // where "Checkbox1-1" is the checkboxID

HtmlInputCheckBox chk = (HtmlInputCheckBox)FindControl("Checkbox1-1");

但也返回null ...

感謝幫助!

您應該在復選框中將屬性寫為runat="server"

然后

CheckBox cx= repeaterName.FindControl("checkboxId") as CheckBox;

我認為它將為您工作。

如果要使用字符串創建這些復選框,然后將其轉儲為HTML。 它們將被視為html復選框,並且無法在服務器端訪問。 您只能在javascript中獲得選中的復選框。您可以將這些值分配給任何隱藏的服務器控件,然后在服務器端使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM