Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net RadioButton html元素的顺序列表_Asp.net_Html_Radiobuttonlist - Fatal编程技术网

asp.net RadioButton html元素的顺序列表

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

我从一家设计机构收到以下html,将以表单形式显示在asp.net Web应用程序之一上:

<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>