我使用的是.Net 4.5,模型绑定,目前有一个中继器,其中包含另一个中继器。
<asp:Repeater ID="rptADivisions" runat="server" ItemType="abc.Division" SelectMethod="rptADivisions_GetData">
<ItemTemplate>
<div>
<%#: Item.DivisionName %>
<asp:Repeater ID="rptDOfficials" runat="server" ItemType="abc.DOfficial" SelectMethod="rptDOfficials_GetData">
<ItemTemplate>
<blockquote>
<p><%#: Item.FullName %></p>
<small><%#: Item.Position %></small>
</blockquote>
</ItemTemplate>
</asp:Repeater>
<hr />
</div>
</ItemTemplate>
</asp:Repeater>我能够填充第一个中继器(rptADivisions),但是如何让第二个中继器工作呢?我需要让第二个访问包含在顶部中继器(rptADivisions)项(abc.Divison)中的Did。我已尝试将第二个中继器的SelectMethod设置为
public IEnumerable<abc.DOfficial> rptDOfficials_GetData([Control("rptADivisions")] string DidFilter)但这似乎不起作用,DidFilter总是设置为null。
发布于 2013-05-09 04:00:56
我手头没有VS,但是中继器,像大多数数据绑定控件一样,应该有像databound或RowDataBound事件这样的东西,你可以挂接它,并且当一行被绑定到数据源中的对应对象时,它能够执行一些代码。
在这种情况下,您应该能够编写c#代码来访问中继器(FindControl("rptDOfficials")),并获得实际绑定到的项。拥有这两项将允许您构建一组项,并通过调用
.DataSource = your set of items
.DataBind()至少这是你做嵌套数据网格,列表视图的方式,我希望这也能在中继器上工作。
https://stackoverflow.com/questions/16449070
复制相似问题