2011-06-17 32 views
0

我试图设置我从代码后面生成的单选按钮的名称。我无法得到它的工作。有任何想法吗?设置html输入代码的名称后面

我怎么做的:

protected void repProductsDatabound(object sender, RepeaterItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { 

      Enums.ProductCode product = (Enums.ProductCode)e.Item.DataItem; 
      HtmlTableRow row = new HtmlTableRow(); 

      HtmlTableCell buttonCell = new HtmlTableCell(); 
      HtmlInputButton btn = new HtmlInputButton("radio"); 
      btn.Name = "productsRadioGroup"; 
      // btn.ServerClick += onProductSelectionChanged; 
      buttonCell.Controls.Add(btn); 
      row.Controls.Add(buttonCell); 


      HtmlTableCell ProductCell = new HtmlTableCell(); 
      ProductCell.InnerText = product.ToString().Replace("_", " "); 
      row.Controls.Add(ProductCell); 

      e.Item.Controls.Add(row); 

     } 

    } 

结果

<td><input name="ctl00$MainContent$repProducts$ctl01$ctl02" type="radio" /></td> 
     <td>Be Business</td> 
    </tr> 
    <tr> 
     <td><input name="ctl00$MainContent$repProducts$ctl02$ctl02" type="radio" /></td> 
     <td>Be BusinessLite</td> 
    </tr> 
    <tr> 
     <td><input name="ctl00$MainContent$repProducts$ctl03$ctl02" type="radio" /></td> 
    <td>Be BusinessPro</td> 
</tr> 
+0

为什么在一个中继器的OnItemDataBound事件中动态地向页面添加控件?这是绕过中继器的全部功能。 – MoarCodePlz

+0

尝试btn.Attributes.Add(“name”,“your_name”); –

+0

“name”属性显然被ASP.NET的命名约定所覆盖。我不认为在添加到页面之前的任何时刻设置此属性都会产生影响。汤姆斯科雷斯你为什么不告诉我们你在这里试图完成什么? – MoarCodePlz

回答

相关问题