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>
为什么在一个中继器的OnItemDataBound事件中动态地向页面添加控件?这是绕过中继器的全部功能。 – MoarCodePlz
尝试btn.Attributes.Add(“name”,“your_name”); –
“name”属性显然被ASP.NET的命名约定所覆盖。我不认为在添加到页面之前的任何时刻设置此属性都会产生影响。汤姆斯科雷斯你为什么不告诉我们你在这里试图完成什么? – MoarCodePlz