[英]asp.net 3.5 settings styles on controls in a custom webcontrol
我在自定义Web控件中向控件添加样式属性时遇到问题。 下面是一个非常简单的自定义Web控件,只是为了说明问题:
[ParseChildren(true)]
[ToolboxData("<{0}:SomeControl runat=\"server\"></{0}:SomeControl>")]
public class SomeControl : WebControl
{
public CheckBox MyCheckbox { get; set; }
protected override void CreateChildControls()
{
MyCheckbox = new CheckBox { Text = "Here is some text" };
MyCheckbox.Style.Add("some", "style");
Controls.Add(MyCheckbox);
base.CreateChildControls();
}
}
在页面上使用时,我得到以下输出:
<span><span style="some:style;"><input id="ctl03" type="checkbox" name="ctl03" /><label for="ctl03">Here is some text</label></span></span>
为什么span标记上的style属性而不是输入标记?
以下是两种向复选框添加样式的方法,您使用的方式将尝试为检测到的浏览器UserAgent呈现,从而将复选框包装在具有style属性的span中。
另一种方法是将样式属性直接添加到复选框。
MyCheckbox.InputAttributes.Add("some", "style");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.