ASP.NET RadioButtonList:元素' br'不能嵌套在元素列表中#ll; listitem'

时间:2016-05-02 15:00:46

标签: asp.net radiobuttonlist

例如我有这个单选按钮。

(o) item1  (o) item 2

然而,我希望它像:

(o) item1   (o) item2
  line here   line here

我目前的加价是:

<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" Width="650px" Font-Size="Smaller">
    <asp:ListItem Selected="True" Value="0">Relax<br>(MY MAN)</asp:ListItem>
    <asp:ListItem Value="1">Relax Again<br>(My Man)</asp:ListItem>
    <asp:ListItem Value="2">Relax Again 2<br>(MyMan)</asp:ListItem>
    <asp:ListItem Value="3">Relax 3<br>(My Man)</asp:ListItem>
    <asp:ListItem Value="4">Relax 4<br>(My Man)</asp:ListItem>
    <asp:ListItem Value="5">Relax 5<br>(My Man)</asp:ListItem>
    <asp:ListItem Value="6">Relax 6<br>(My Man)</asp:ListItem>
</asp:RadioButtonList>

但它会生成以下验证错误消息:the element 'br' cannot be nested within the element 'listitem'

2 个答案:

答案 0 :(得分:2)

注意:这里给出的解决方案确实有效,但比必要的更复杂。请参阅J Talati对自己帖子的回答,以获得最佳答案。

<小时/> 如果你想要一个没有错误的标记,你可以在一个表中(它是由RadioButtonList呈现的方式)重现RadioButtonList,其中单独的RadioButtons共享相同的GroupName

<table id="RadioButtonTable1" runat="server" class="radioList">
    <tr>
        <td>
            <asp:RadioButton runat="server" GroupName="RadioList" Checked="true" Value="0" Text="Relax<br />(MY MAN)" />
        </td>
        <td>
            <asp:RadioButton runat="server" GroupName="RadioList" Value="1" Text="Relax Again<br />(My Man)" />
        </td>
        <td>
            <asp:RadioButton runat="server" GroupName="RadioList" Value="2" Text="Relax Again 2<br />(MyMan)" />
        </td>
        ...
    </tr>
</table>

radioList类样式允许自定义布局:

.radioList td
{
    text-align: left;
    width: 80px;
}

现在,获取所选值并不像RadioButtonList那么简单。您可以使用Jimmy在Better way to find control in ASP.NET

中提供的课程
ControlFinder<RadioButton> radios = new ControlFinder<RadioButton>();
radios.FindChildControlsRecursive(RadioButtonTable1);
foreach (RadioButton rb in radios.FoundControls)
{
    if (rb.Checked)
    {
        string value = rb.Attributes["Value"];
        ...
        break;
    }
}

RadioButtons没有Value属性,但可以在标记中添加属性,并在代码隐藏中检索该属性。

答案 1 :(得分:1)

ProjectImagePath

让这个工作!哇噢!只需添加所有文本属性。