1

我正在使用一个显示某个表的数据的中继器控件。转发器中的每一行包含两列:一个图标(红色/黄色/绿色圆圈)和一个说明。

我必须目标,第一个目标是创建相同的中继器,现在我需要它是水平的。第二个目标是我需要每个图标(红色/绿色/黄色圆圈)成为一个按钮,这样当我按下其中一个图标时,就会发生一个事件(不管怎样,说 Response.Write("Green is按下");

你能帮助我吗?

4

1 回答 1

2

要使其水平,您可以将li列表用作inlinecss 技巧。完整的代码:

<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

于 2012-10-28T16:15:22.017 回答