我有一个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相关问答推荐

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

系统日期时间?与 System.DateTime

如何将 viewbag 显示为 html?

为什么微软决定支持 jQuery 如此重要?

创建一个供 ASP.NET 应用程序中的所有线程使用的静态 Regex 对象是否有效?

VS2013发布Web部署任务失败文件正在使用中

使用 JavaScript 更改 ASP.NET 标签的可见性

IIS 6.0 通配符映射基准?

返回 IHttpActionResult vs IEnumerable vs IQueryable

ASP.net 与 PHP( Select 什么)

Razor 主机工厂错误

当用户使表单无效时单击取消按钮时,如何清除 MVC 客户端验证错误?

HttpModules 的执行顺序是如何确定的?

在asp.net mvc 3中实现FilterAttribute,IActionFilter和从ActionFilterAttribute继承有什么区别?

无法共同创建探查器错误 - 但未使用探查器

使用 ASP.NET Web API 对 PUT 和 DELETE 的 CORS 支持

ASP.NET Core 中的 NuGet 包位置在哪里?

HttpContext.Current属性的跨线程使用及相关的东西

将列表转换为 json 格式 - 快速简便的方法

无法使用 ip:port 访问 WEB API,但可以在 VS 调试模式下使用 localhost:port