2011-07-15 6 views
1

リピータ内にラジオボタンリストがあります。私はこれがどのように見えるのスクリーンショットを表示しています。私は、リピータのヘッダテンプレート内にカラムヘッダを持っています。アイテムテンプレートには、4つのフィールド/列があります。 3番目のフィールドはラジオボタンリストです。たとえば、「テストタスク2」行の「はい」ラジオボタンを選択した場合、そのレコードの値をポストバックして保存する必要があります(データベースに戻す)。私のリピータは、フィールドとラジオボタンリストの多くの行を表示する可能性があります。リピータ内のラジオボタンから選択したラジオボタンリストの値を取得する

screenshot

+0

を試してみてくださいはい、いいえおよびN/Aのための別々のラジオボタンのこのラジオボタンリストのですか? –

+0

はい、いいえ、N/Aは1つのRadion Button Listの一部としてのListItemです。 – 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

私は、これはあなたが私たちが戻ったばかりの のポストのためのoncheckedChangedイベントを使用する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"/> 

を持って考えてみましょう 助けることができ、この望みのようにGridViewの中で何かを使用していると、 .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 
    } 
} 

希望、これはあなたを助けることができる

関連する問題