Control.Attributes.Add不适用于复选框

时间:2017-02-15 04:55:29

标签: c# asp.net

我已使用checkbox创建了动态ID="chk",我想对其应用内联样式。我试过了

chk.Attributes.Add("style","opacity:1");

但它没有按预期工作。它在复选框周围创建span并将样式应用于该复选框。 但它有效

chk.InputAttributes["style"] = "opacity:1";

但前者适用于TextBox。为什么这种复杂性适用于不同的控制?

更新

作为un-lucky answered,它只是掩盖我真实问题的另一种选择,即Why this complexity for different controls?。让我们忘记style,想想任何其他的atrribute。为什么复选框在Attribute.Add

方面有所不同

2 个答案:

答案 0 :(得分:0)

要添加样式,您必须尝试使用​​Style属性代替Attributes以下代码可以帮助您:

chkBox.Style.Add("opacity", ".3");

你也可以尝试这样:

chkBox.Style["width"] = "70px";
chkBox.Style["height"] = "70px";

答案 1 :(得分:0)

ASP.Net为复选框呈现两个<input>元素,以克服未选中复选框不是POST的事实。

我想更简单的方法是在代码中分配CSS类,并调整CSS来处理HTML细节。