c# - Repeater 中的项目符号列表

标签 c# asp.net asprepeater bulletedlist

我在数据库中有 2 个表是连接的

tblPackage
id Name
1  Package A
2  Package B

tblDetails
id PackageID Details
1  1         PackageDetails11
2  1         PackageDetails12
3  1         PackageDetails13
4  1         PackageDetails14
5  2         PackageDetails21
6  2         PackageDetails22
7  2         PackageDetails23

现在我想让它在中继器上操纵它

HTML

<asp:Repeater ID="rptrPackage" runat="server">
<ItemTemplate>
    <asp:Label id="Pack" runat="server" Text='<%# Bind("Pack") %>'></asp:Label>
    <asp:BulletedList id="Details" runat="server">
    </asp:BulletedList>
    </ItemTemplate>
</asp:Repeater>

ASP

private void Populate()
{
    DataTable dtPackage = tblPackage();
    DataTable dtDetails = tblDetails();

    rptrPackage.DataSource = dtPackage;
    rptrPackage.DataBind();
}

最佳答案

试试这个

aspx

    <asp:Repeater ID="rptrPackage" runat="server">
        <ItemTemplate>
            <asp:Label ID="Pack" runat="server" Text='<%# Bind("Pack") %>'></asp:Label>
            <asp:HiddenField ID="hID" Value='<%# Eval("PackageID") %>' runat="server" />
            <asp:Repeater runat="server" ID="rptDetails">
                <HeaderTemplate>
                    <ul>
                </HeaderTemplate>
                <ItemTemplate>
                    <li>
                        <%# Eval("Details")%>
                    </li>
                </ItemTemplate>
                <FooterTemplate>
                    </ul>
                </FooterTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>

代码隐藏

    private void Populate()
    {
        DataTable dtPackage = tblPackage();
        DataTable dtDetails = tblDetails();

        rptrPackage.DataSource = dtPackage;
        rptrPackage.DataBind();

        foreach (RepeaterItem item in rptrPackage.Items)
        {
            Repeater rptDetails = ((Repeater)item.FindControl("rptDetails"));
            rptDetails.DataSource = dtDetails.Select("PackageID = " + ((HiddenField)item.FindControl("hID")).Value).CopyToDataTable();
            rptDetails.DataBind();
        }
    }

关于c# - Repeater 中的项目符号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158783/

相关文章:

c# - 在 MVC View 中引用内部类

c# - 通过 javascript 从 View 渲染页面

c# - 使用 Lucene.NET 索引全文文档是否需要 IFilter

c# - 假 DataRepository - 模拟数据库

asp.net - ItemIndex asp :Repeater VB. NET 的内联 IF 语句

c# - 在 ASP 中使用 foreach 与 ASP.NET View 引擎 : Repeater is not working

c# - 在 .NET 中将索引放入转发器控件的最简单方法是什么?

c# - 动态问卷

c# - 带 CAS 的 OWIN 中间件

asp.net - Signalr:WebSocket 连接到 'wss://***':WebSocket 握手期间出错:意外的响应代码:502