[英]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.