BS程序,动态生成多个复选框时,如何控制其id属性和name属性的值不一样?

bitpolar 2008-06-01 01:19:44
动态生成代码如下:
for(int y=0; y<4; y++)
{
CheckBox chk = new CheckBox();
chk.ID = "CHK" + Convert.ToChar('A' + y).ToString();
chk.InputAttributes.Add("value", Convert.ToChar('A' + y).ToString());
}

生成的结果如下:
<input id="CHKA" type="checkbox" name="CHKA" value="A" />
<input id="CHKB" type="checkbox" name="CHKB" value="B" />
<input id="CHKC" type="checkbox" name="CHKC" value="C" />
<input id="CHKD" type="checkbox" name="CHKD" value="D" />

我现在想要的结果是id属性不一样,name属性一致,如下:
<input id="CHKA" type="checkbox" name="CHK" value="A" />
<input id="CHKB" type="checkbox" name="CHK" value="B" />
<input id="CHKC" type="checkbox" name="CHK" value="C" />
<input id="CHKD" type="checkbox" name="CHK" value="D" />

请问该如何生成?

chk.InputAttributes.Add("name", "CHK");
不管用,这样input 会有两个name属性.
<input id="CHKA" type="checkbox" name="CHKA" value="A" name="CHK" />
...全文
229 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdjray 2008-06-01
  • 打赏
  • 举报
回复
查了很多资料,也看了设计源码

我个人认为只能是重写CheckBox
或者不用此方法来实现你想要的结果了

可以参考:
http://forums.microsoft.com/china/ShowPost.aspx?PostID=3294792&SiteID=15
toxxj 2008-06-01
  • 打赏
  • 举报
回复

for(int y=0; y <4; y++)
{
CheckBox chk = new CheckBox();
chk.ID = "CHKA" + Convert.ToChar(y).ToString();

}

46539492 2008-06-01
  • 打赏
  • 举报
回复
这种情况要么用html表单元素,要么写一个html控件
caicoko 2008-06-01
  • 打赏
  • 举报
回复
如果要想达到你的效果,有两种方法

第一 写一个来统一实现一个name的控件
第二 直接生成input控件,不要使用CheckBox
hy_lihuan 2008-06-01
  • 打赏
  • 举报
回复
呵呵,没有追求过这方面的细节,不过我觉得要控制可能会比较难,还不如自己去生成html来的现实
cat_hsfz 2008-06-01
  • 打赏
  • 举报
回复
服务器端的ID并非对应HTML中的id,而ClientID才是对应HTML中的id,不过ClientID是不能直接受你控制的。

这样做是因为,在ASP.NET中ID可能出现重复的情况,为了保证id的唯一性,所以ClientID是由ASP.NET引擎控制生成的。
  • 打赏
  • 举报
回复
“放过”name,寻找与asp.net兼容的程序写法。或者,不要使用CheckBox控件,一切使用html手工打造。
bitpolar 2008-06-01
  • 打赏
  • 举报
回复
谢谢楼上这位兄弟,已经试过了,还是不行,仍旧有两个name属性
我姓区不姓区 2008-06-01
  • 打赏
  • 举报
回复

CheckBox chk = new CheckBox();
chk.ID = "CHK" + Convert.ToChar('A' + y).ToString();
chk.InputAttributes["Name"] = "CHK";
chk.InputAttributes.Add("value", Convert.ToChar('A' + y).ToString());

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧