[英]dynamically use radio buttons in asp.net applications
我正在開發一個asp.net應用程序。
當用戶單擊頁面時,某些單選按鈕會動態添加到頁面中。
然后,當他單擊另一個“更新”按鈕時,我寧願檢查一下,選中了哪些單選按鈕並將它們發回到服務器上。
問題如下:
我在page_load方法中動態添加了單選按鈕。
但是,當我使用更新按鈕onclick方法時,我無法使用它們來檢查是否未選中它們。
我已經嘗試了幾種方法,例如使用單選按鈕的靜態字典,但是當我使用update方法時,無法對其進行引用。
頁面加載時,這是我的方法:
private static Dictionary<string,RadioButton> buttons;
protected void Page_Load(object sender, EventArgs e)
{
for (int i=0;i<5;i++)
{
RadioButton r = new RadioButton();
r.Text = i.ToString();
r.ID = i.ToString();;
Panel1.Controls.Add(r);
buttons.Add(i.ToString(), r);
}
}
這是我的方法,當用戶單擊“更新”按鈕時,我想根據其ID或文本訪問每個單選按鈕,但是我不能:例如,如果我希望將1到3的所有按鈕都設為已檢查:
protected void Button1_Click(object sender, EventArgs e)
{
for (int i=1;i<4;i++)
{
buttons[i].checked=true;
}
}
Asp.net將在每次回發時清除您動態添加的控件。 如果要獲得他們的選擇,則必須在客戶端中單擊JS中的按鈕。 C#代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
for (int i = 0; i < 5; i++)
{
RadioButton r = new RadioButton();
r.Text = i.ToString();
r.ID = i.ToString();
r.ClientIDMode = System.Web.UI.ClientIDMode.Static;
Panel1.Controls.Add(r);
}
}
}
和JS代碼:
<script type="text/javascript">
function getCheckedRadios() {
alert(document.getElementById('1').checked);
}
</script>
按鈕的aspx代碼為:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="getCheckedRadios(); return false;"/>
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.