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

'dotnet --version is returning您必须安装或更新.NET才能运行此应用程序.三十九岁;

log4net 记录所有未处理的应用程序错误

cookie 存储在系统的什么位置?

如何通过 Asp.net 中的命令参数传递多个值?

无法读取配置部分system.servicemodel,因为它缺少部分声明

asp.net mvc 中的 RedirectToAction 用法

如何在asp.net中判断会话是否过期

在 Blazor 中 Select 框绑定

如何在 ASP.NET 应用程序中使用 jQuery 捕获提交事件?

学习什么 - Ruby on Rails 或 ASP .NET MVC...鉴于熟悉 ASP .NET

System.Linq.Dynamic 不支持 OrderByDescending("someColumn")?

Web.Config 中的 Assemblies node 的用途是什么?

如何将 LINQ 左外连接限制为一行

什么时候应该使用 Response.Redirect(url, true)?

投票有什么问题?

在 Visual Studio 2010 中随机禁用编辑 aspx/ascx 文件?

如何在 ASP.Net MVC 3 中返回 HttpNotFound() 的视图?

将字符串转换为时间

RegisterStartupScript 不适用于 ScriptManager、Updatepanel.这是为什么?

Appdomain 回收究竟是什么