2010-12-01 18 views
0

私はGridViewを持っており、そのOnRowDataBoundコールバックに新しいセルを追加しています。そのセルにRadioButtonを追加しています。ラジオボタンにGroupNameを設定しましたが、一度に複数のボタンを選択することはできます。ASP.NET C# - ラジオボタンがグループ化されていません

グループ内でラジオボタンを1つだけ選択できるようにグループ化するにはどうすればよいですか。

EDIT - これは私のコードです:

// Add the radio button to select if this purchased address 
    // is set the the home address of the contact 
    e.Row.Cells.AddAt(0, new TableCell()); 
    RadioButton rbSetAddress = new RadioButton(); 
    rbSetAddress.ID = "rdSetAddress" + e.Row.Cells[2].Text; 
    rbSetAddress.GroupName = "SetAddress"; 
    e.Row.Cells[0].Controls.Add(rbSetAddress); 

だから私は、一意のIDと同じGroupNameの設定です。 ASP.NETは、入力の名前属性をGroupNameに設定していません。だから、私が望むだけ多くのラジオボタンを選択することができます。これは私が起こりたいことではありません。 GroupNameで指定されたグループ内の1つだけを選択できるようにします。

答えて

1

http://www.codeproject.com/KB/webforms/How_group_RButtons.aspx

http://www.developer.com/net/asp/article.php/3623096/ASPNET-Tip-Using-RadioButton-Controls-in-a-Repeater.htm

基本的に、(GridViewのある)任意の種類のリピータで、名前がもはやの結果として、グループプロパティから全て同じである場合way asp.netは、リピーター内のものを指定します(本質的に、各コントロールは、それを一意にするために接頭辞を取得します)。

+0

私は、単一のセルに全体のリストを必要としません。 1行に1つのボタンが必要です。 – Justin808

+0

事実の後にjavascriptを使用して、私が理解できるものから名前を正規化する必要があります。私はMVCに切り替える理由はこのような面倒です。 –

+0

私はjavascriptオプションを使用しました。 MSは時々バカの束です。 – Justin808

0

コードビハインドのラジオボタンに別の名前を付けてもよろしいですか?

for (int i = 0; i < 10; i++) 
      { 
       RadioButton rb = new RadioButton(); 
       rb.ID = "rb"+i; 
       rb.GroupName="rbGroup"; 
       GridView1.Rows[i].Cells[3].Controls.Add(rb); 
      } 
+0

この時点でラジオボタンに何も設定していないと、すべて同じGroupNameを与えることになります。 – Justin808

+0

いいえ、彼はasp.net webformsのリピーターが貧弱な仕事をするように見えるhtmlの*同じ*名前が必要です。 –

+0

Justinコードをすぐに追加します(私の投稿を編集します) – Pabuc