我正在使用一个显示某个表的数据的中继器控件。转发器中的每一行包含两列:一个图标(红色/黄色/绿色圆圈)和一个说明。
我必须目标,第一个目标是创建相同的中继器,现在我需要它是水平的。第二个目标是我需要每个图标(红色/绿色/黄色圆圈)成为一个按钮,这样当我按下其中一个图标时,就会发生一个事件(不管怎样,说 Response.Write("Green is按下");
你能帮助我吗?
要使其水平,您可以将li
列表用作inline
css 技巧。完整的代码:
<head runat="server">
<style type="text/css">
#navlist li
{
display: inline;
list-style-type: none;
padding-right: 20px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id="navcontainer">
<ul id="navlist">
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>Some text and my id: <%# GetID(Container.DataItem) %></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</form>
</body>
</html>
和后面的代码:
public partial class Dokimes_StackOverFlow_HorizontialRepeater : System.Web.UI.Page
{
List<int> oMainIds = new List<int>();
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
oMainIds.Add(i);
}
Repeater1.DataSource = oMainIds;
Repeater1.DataBind();
}
public int GetID(object oItem)
{
return (int)oItem;
}
}
你有一个像这样的渲染:
一些文本和我的 ID:0 一些文本和我的 ID:1 一些文本和我的 ID:2 一些文本和我的 ID:3 一些文本和我的 ID:4 一些文本和我的 ID:5 一些文本和我的 ID:6 一些文本和我的 ID:7 一些文本和我的 ID:8 一些文本和我的 ID:9