-4

我在 Asp.net 中使用中继器控件。

我有一个场景,根据条件我必须检索以前的索引属性值。

请帮忙..

4

1 回答 1

0

如果在对中继器进行数据绑定时您的 DataSource 可用,则可以执行以下操作:

数据源定义仅用于显示示例:

protected DataTable Data
{
    get
    {
        if (ViewState["Data"] == null)
        { 
            DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("Name");
            table.Columns.Add("Color");
            table.Columns.Add("Weight", typeof(int));

            table.Rows.Add(1, "Ball", "Red", 10);
            table.Rows.Add(2, "Table", "Black", 50);
            table.Rows.Add(3, "Chair", "Green", 30);
            ViewState["Data"] = table;
        }
        return (DataTable)ViewState["Data"];
    }
}

页面加载(中继器数据绑定):

protected void Page_Load(object sender, EventArgs e)
{
    rpt.DataSource = Data;
    rpt.DataBind();
}

中继器代码:

<asp:Repeater ID="rpt" runat="server">
    <ItemTemplate>
        <%# 
            Condition ? Data.Rows[Container.ItemIndex - 1]["Name"] : Eval("Name")
        %> 
    </ItemTemplate>
</asp:Repeater>

Data引用代码隐藏上的受保护属性,即 DataTable。

于 2013-01-28T10:25:52.433 回答