我有一个ASP.NET RadioButton列表,使用RepeatDirection="Horizontal"在一行上显示四个项目.我使用RepeatLayout="Flow"来避免表的标记.但是,这会导致列表中的项目彼此相邻,这看起来不太好.

因此,我try 了表格布局,以利用CellSpacing和/或CellPadding属性.不幸的是,这些属性会影响表中的垂直和水平间距/填充,因此在获得水平间距的同时,也会获得不需要的垂直间距.

在这一点上,我要说的是:

<asp:RadioButtonList ID="rblMyRadioButtonList" runat="server" 
    RepeatDirection="Horizontal"
    RepeatLayout="Flow" >
    <asp:ListItem Selected="false" Text="Item One&nbsp;&nbsp;&nbsp;&nbsp;" Value="Item_1" />
    <asp:ListItem Selected="false" Text="Item Two&nbsp;&nbsp;&nbsp;&nbsp;" Value="Item_2" />
    <asp:ListItem Selected="false" Text="Item Three&nbsp;&nbsp;&nbsp;&nbsp;" Value="Item_3" />
    <asp:ListItem Selected="false" Text="Item Four&nbsp;&nbsp;&nbsp;&nbsp;" Value="Item_4" />
</asp:RadioButtonList>

...对我大喊大叫"你做得不对!"

实现这一目标的正确方法是什么?

推荐答案

使用css为这些特定元素添加右边距.一般来说,我会构建控件,然后运行它来查看生成的html struct 是什么样的,然后让css只改变这些元素.

最好通过设置类来实现这一点.将CssClass="myrblclass"属性添加到列表声明中.

您还可以通过编程方式将属性添加到项目中,这将从另一面显示出来.

rblMyRadioButtonList.Items[x].Attributes.CssStyle.Add("margin-right:5px;")

这可能对您更有利,因为您可以为除最后一个属性之外的所有属性添加该属性.

Asp.net相关问答推荐

缓存httpmessage内容

内容根路径在 .NET 6 中如何工作?

如何防止 IISExpress 和我的网站文件夹弄乱我的文档文件夹?

如何向 Array.IndexOf 添加不区分大小写的选项

在 lambda 表达式中否定 Func

ASP.NET - 在屏幕底部显示应用程序构建日期/信息

在正则表达式中允许 -(破折号)

ASP.NET 平台是否有与 Heroku 等价的工具?

Web api 不支持 POST 方法

如何检测 ASP.net 应用程序中的 SqlServer 连接泄漏?

如何在 ASP.NET core rc2 中禁用浏览器缓存?

c# - 如何从列表中获取值的总和?

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

是否应该将 project.lock.json 文件签入源代码管理? (ASP.NET 核心 1.0)

如何验证用户在 CheckBoxList 中 Select 了至少一个复选框?

如何使用 WebRequest 发布数据并从网页获取响应

.NET 4.0 中的自定义 MembershipProvider

避免将重复元素添加到列表 C#

如何使用 encodeURIComponent() 解码在 JS 中编码的 HTML?

LinkBut​​ton 向 OnClick 后面的代码发送值