asp.net RadioButton html元素的顺序列表
我从一家设计机构收到以下html,将以表单形式显示在asp.net Web应用程序之一上:asp.net RadioButton html元素的顺序列表,asp.net,html,radiobuttonlist,Asp.net,Html,Radiobuttonlist,我从一家设计机构收到以下html,将以表单形式显示在asp.net Web应用程序之一上: <label> <input type="radio" /> Label Text 1 </label> <label> <input type="radio" /> Label Text 2 </label> <label> <input type="radio" /&g
<label>
<input type="radio" />
Label Text 1
</label>
<label>
<input type="radio" />
Label Text 2
</label>
<label>
<input type="radio" />
Label Text 3
</label>
标签文本1
标签文本2
标签文本3
可以想象,生成的输出将单选按钮放置在标签文本的左侧
由于标签/单选按钮的数量是可变的,所以我决定使用RadioButtonList来动态操作添加的控件数量
RadioButtonList的问题在于它生成的html不是很灵活。
我最接近我的客户想要的布局的是下面的代码。但这会将单选按钮放在标签的右侧:(
下面是生成的HTML:
<label for="ControlID1">Text 1</label>
<input id="RadioControlID1" type="radio" name="NameRadioControlID1" value="Text 1" />
<label for="ControlID2">Text 2</label>
<input id="RadioControlID2" type="radio" name="NameRadioControlID2" value="Text 2" />
<label for="ControlID3">Text 3</label>
<input id="RadioControlID3" type="radio" name="NameRadioControlID3" value="Text 3" />
Text 1
文本2
文本3
是否可以将输入控件放置在标签内?您的
TextAlign
属性设置为“Left”,这意味着文本将转到按钮的左侧。我相信将其设置为TextAlign=“Right”
应该执行您想要的操作。如果不创建自定义控件来覆盖该行为,您将无法让RadioButtonList控件按照您的描述呈现标签内的按钮
正如womp所提到的,您需要将TextAlign=“Right”设置为“Left”,而不是“Left”,或者如果您将该属性留空,它将默认为预期的行为。将其设置为“Right”意味着“将文本与单选按钮的右侧对齐”。相反的设置为“Left”
您可以使用常规标签和RadioButton控件来获得所需的输出,而不是创建自定义控件,但是您需要关联一个组名并单独检查每个按钮。这可以通过将它们放置在面板控件中,然后在其上循环并确定所选按钮来增强
这是更多的标记,但它与您提到的格式相匹配:
<label>
<asp:RadioButton ID="rbMonday" runat="server" GroupName="DaysOfWeek" />
Monday
</label>
星期一
坦率地说,标记并不重要,因为它不提供任何额外的功能。最终,您希望捕获输入,而标签是否包含单选按钮并不影响该目标。如果与您打交道的机构对此很灵活,您可以解释不同的选项,也许他们会接受default格式化,它使您的工作效率更高,并允许您在这方面花费更少的时间(这反过来会使他们更快乐)。Thsi属性与我的问题无关。不幸的是:(@pablo:看起来您投了否决票,但没有用回复解释问题。它对您不起作用还是不符合您的要求?
<label>
<asp:RadioButton ID="rbMonday" runat="server" GroupName="DaysOfWeek" />
Monday
</label>