C# 如何将嵌套的Repeater绑定到objectdatasource

C# 如何将嵌套的Repeater绑定到objectdatasource,c#,asp.net,C#,Asp.net,我对ASP.net一无所知 我的数据库模型在这里 如上图所示,我有一个表,它的名称是Tours,它有一个列名为TourId 我的网络表单中有一个对象数据源和一个转发器。代码如下: <asp:ObjectDataSource ID="ODSTTitle" runat="server" SelectMethod="GetById" TypeName="ATourRep"> <SelectParameters> <

我对ASP.net一无所知

我的数据库模型在这里

如上图所示,我有一个表,它的名称是Tours,它有一个列名为TourId

我的网络表单中有一个对象数据源和一个转发器。代码如下:

<asp:ObjectDataSource ID="ODSTTitle" runat="server" SelectMethod="GetById" TypeName="ATourRep">
            <SelectParameters>
                <asp:QueryStringParameter DefaultValue="0" Name="Id" QueryStringField="CID" Type="Int32" />
            </SelectParameters>
        </asp:ObjectDataSource>

            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server">
            </asp:ObjectDataSource>


<div class="container" id="TourDetail">

            <asp:Repeater ID="RptTourDetail" runat="server" DataSourceID="ODSTTitle" ItemType="Tour" EnableViewState="false">

                <ItemTemplate>
                    <li>

                        <div class="row">



                            <div class="col-md-3">
                                  <%-- NestedRepeater --%>

                                <asp:Repeater ItemType="TourDate" ID="RptTourNested" runat="server" EnableViewState="false">
                                    <ItemTemplate>
                                        <h2>
                                                                                                       <%-- What Should I write Here to have a list of each TourDate --%>

                                        </h2>
                                    </ItemTemplate>
                                </asp:Repeater>
                            </div>

                     <%-- This div works correctly --%>
                            <div class="col-md-6">
                                <h4>
                                    <%# Item.TName %>
                                </h4>
                                <p>
                                    <%# Item.TDes %>
                                </p>
                            </div>



                        </div>

                    </li>

                </ItemTemplate>

            </asp:Repeater>

        </div>

  • 正如代码所示,有一个嵌套的中继器,它有h2标记。我需要在h2标签中显示每个旅行日期的列表

    我不知道如何绑定ObjectDataSource1以使用每个巡更的TourId,然后获取该巡更的开始日期。还有我应该在嵌套中继器的h2标记中写些什么来显示那个次旅行的卫星日期 ((每次旅行有一个以上的起始日期))

    我的存储库中也有这个方法

     public IQueryable<TourDate> GetById(int Id)
    {
        return model.TourDates.Where(e => e.TourId == Id);
    }
    
    public IQueryable GetById(int-Id)
    {
    返回model.TourDates.Where(e=>e.TourId==Id);
    }
    
    我使用了ObjectDataSource的默认值,然后通过eval绑定它,但它不起作用


    您有什么建议吗?我在Structure中有错吗?或者您认为有比嵌套中继器更好的吗?

    在父中继器中,您需要实现此处指定的repeater.ItemDataBound事件,然后在该事件中,您需要为每个项(行)获取您需要的信息,并将数据源发送到内部中继器,然后调用其数据绑定功能。

    本文很有帮助。这正是我所需要的


    非常感谢您的关心和帮助。我为父中继器创建了ItemDataBound事件,但仍然不知道在事件中到底写什么,也不知道如何将数据源发送到内部中继器。如果可能的话,我想在repositroy上使用对象数据源和这段代码。public IQueryable GetById(int-Id){return model.TourDates.Where(e=>e.TourId==Id);}你知道如何解决这个问题吗。。如果可能的话,请在这个问题上再帮我一次。非常感谢。