C# 带有动态单选按钮的附加html标记
我通过以下方式动态创建一些单选按钮: Regions.ascxC# 带有动态单选按钮的附加html标记,c#,asp.net,css,radio-button,asp.net-controls,C#,Asp.net,Css,Radio Button,Asp.net Controls,我通过以下方式动态创建一些单选按钮: Regions.ascx <ul class="form_items" ID="radioList" runat="server" clientidmode="Static"> </ul> 很多额外的HTML标签出现了,这是我不想要的。我得到的输出是: <ul id="radioList" class="form_items"> <li> <span name="re
<ul class="form_items" ID="radioList" runat="server" clientidmode="Static">
</ul>
很多额外的HTML标签出现了,这是我不想要的。我得到的输出是:
<ul id="radioList" class="form_items">
<li>
<span name="region"><input id="MainContent_contactUs_Radio1" type="radio" name="ctl00$MainContent$contactUs$Radio1" value="Australia">
<label for="MainContent_contactUs_Radio1">Australia</label>
</span>
</li>
<li>
<span name="region"><input id="MainContent_contactUs_Radio2" type="radio" name="ctl00$MainContent$contactUs$Radio2" value="America">
<label for="MainContent_contactUs_Radio2">America</label>
</span>
</li>
</ul>
-
澳大利亚
-
美国
“Australia/America”的标签继承了与所有标签对齐的样式,从而导致外观错误。
而我只是想
<ul id="radioList" class="form_items">
<li><input id="MainContent_contactUs_Radio1" type="radio" name="ctl00$MainContent$contactUs$Radio1" value="Australia">"Australia"</li><li><input id="MainContent_contactUs_Radio2" type="radio" name="ctl00$MainContent$contactUs$Radio2" value="America">"America"</li></ul>
- “澳大利亚”
“美国”
我认为文本对齐可以设置单选按钮在容器中的水平位置
因此,请检查您的容器是否包装到您的单选按钮。如果您使用System.Web.UI.WebControl,它将使用span呈现您的控件。您可以看到为什么它的渲染在跨度之间 有两种方法可以克服这个问题。首先,当您直接添加属性时,您需要将属性添加到输入控件中,而不是现在就跨 请参阅我的博客文章- 您需要添加如下所示的属性
myCheckBox.InputAttributes.Add("onblur", "onBlur();");
对于文本对齐和其他内容,我建议您使用System.Web.UI.HtmlControls,您可以使用HtmlInputRadioButton而不是System.Web.UI.Webcontrols单选按钮。在这里,您还可以非常轻松地管理所有HTML属性
另外,您可以分别添加标签和HTMLInputRadioButton,并根据需要向标签添加类
string[] regions = {"Autralia", "Asia", "US"};
foreach (var region in regions)
{
HtmlGenericControl li = new HtmlGenericControl("li");
HtmlInputRadioButton radioButton=new HtmlInputRadioButton
{Value = region,
Name = region};
li.Controls.Add(radioButton);
Label label=new Label {Text = region, CssClass = "YourCSSClass"};
li.Controls.Add(label);
radioList.Controls.Add(li);
}
希望这有更多关于css样式的控件感谢您的详细回答。我的主要问题实际上是单选按钮的默认标签。我可以使用HTML控件的单选按钮,如果所有的处理方法都保持不变。我用了整整一天的时间来实现它,我不想在这里玩太多,因为我在这里没有太多经验。是的,单选按钮的处理将保持不变,另一件事是你也可以使用asp.net radiobutton的样式表来解决你的问题。请看我的答案,我已经修改了它。
string[] regions = {"Autralia", "Asia", "US"};
foreach (var region in regions)
{
HtmlGenericControl li = new HtmlGenericControl("li");
HtmlInputRadioButton radioButton=new HtmlInputRadioButton
{Value = region,
Name = region};
li.Controls.Add(radioButton);
Label label=new Label {Text = region, CssClass = "YourCSSClass"};
li.Controls.Add(label);
radioList.Controls.Add(li);
}