2011-07-15 104 views
1

我在中繼器內有單選按鈕列表。我正在顯示這個樣子的截圖。在轉發器的頭模板中有列標題。在項目模板中,我有4個字段/列。第三個字段是一個單選按鈕列表。例如,如果我選擇「測試任務2」行中的「是」單選按鈕 - 我需要回發並保存該記錄的值(返回到數據庫)。我的轉發器可能會顯示許多行和單選按鈕列表。從中繼器中的單選按鈕獲取選定的單選按鈕列表值

screenshot

+0

是獨立的單選按鈕爲Yes,No和N/A此單選按鈕列表? –

+0

是,否和N/A是ListItem作爲一個Radion Button List的一部分。 – obautista

回答

3

試試這個

 

protected void btnSave_Click(object sender, EventArgs e) 
    { 
     foreach (RepeaterItem item in Repeater1.Items) 
     { 
      // Checking the item is a data item 
      if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) 
      { 
       var rdbList = item.FindControl("RadioButtonList1") as RadioButtonList; 
       // Get the selected value 
       string selected = rdbList.SelectedValue; 
      } 
     } 
    } 
 
+0

我有分配給RadioButtonList上的OnSelectedIndexChanged的建議btnSave_Click方法。我還將AutoPostBack設置爲「true」。當我選擇不同的單選按鈕時,我的頁面會回發,但不會觸發btnSave_Click方法。我該如何連線? – obautista

+0

我剛纔問的問題是在這裏回答的:http://stackoverflow.com/questions/6707193/radiobuttonlist-inside-repeater-onselectedindexchanged-not-firing – obautista

0
if (Repeater1.Items.Count > 0) 
{ 
    for (int count = 0; count < Repeater1.Items.Count; count++) 
    { 
     RadioButton rd1 = (RadioButton)Repeater1.Items[count].FindControl("ID1"); 
     RadioButton rd2 = (RadioButton)Repeater1.Items[count].FindControl("ID2"); 
     RadioButton rd3 = (RadioButton)Repeater1.Items[count].FindControl("ID3"); 
     if (rd1.Checked) 
     { 

     } 
     if (rd2.Checked) 
     { 

     } 
     if (rd3.Checked) 
     { 

     } 
    } 
} 
0

我已經使用在GridView中這樣的事情,希望這可以幫助你 讓我們考慮一下,我們有2個按鈕

<asp:RadioButton ID="rb_Yes" runat="server" GroupName="GpName" Text="Yes" OnCheckedChanged="rb_Yes_Click" AutoPostBack="true" /> 
<asp:RadioButton ID="rb_No" runat="server" GroupName="GpName" Text="No" OnCheckedChanged="rb_No_Click" AutoPostBack="true"/> 

只需使用後的oncheckedChanged事件回 和在.cs頁使用代碼這樣的事我肯定這可以幫助你

protected void rb_Yes_Click(object sender, EventArgs e) 
{ 
    RadioButton rb_Yes = (RadioButton)sender; 
    GridViewRow grid_row = (GridViewRow)rb_Yes.NamingContainer; 
    if(((RadioButton)grid_row.FindControl("rb_Yes")).Checked==true) 
    { 
//Action that you want to implement 
    } 
} 

希望這可以幫助你

相關問題