我的Page_Load调用以下内容:
pnlProductWrapper.Visible = true;
pnlList2Column.Visible = true;
rptList2Column.StartIndex = startIndex - 1;
rptList2Column.NumItems = productsPerPage;
rptList2Column.DataSource = UseManualProductList() ? lPage.LPageProducts.Values.ToList() : products;
rptList2Column.DataBind()
在第一页加载时,我看到我的转发器就好了,它的产品。但我们有一个寻呼控制。当点击下一步时,它所做的就是通过查询字符串中的参数,我们抓住它并重新查询以获得更多产品。所以第二次再来到这里我调试并且明确地证实上面的产品是被选中并设置为DataSource的,而在DataBind之后,rptList2Column有6条记录。但是当我的页面加载时,转发器没有出现。
这是我的一些加价:
<div id="ProductWrapper">
<asp:Panel ID="pnlList2Column" Visible="false" runat="server">
<xx:xxRepeater ID="rptList2Column" EnableViewState="false" runat="server">
<ItemTemplate>
<td valign="top" align="center" width="150px" style="padding-top:5px">
<div>
<a href="<%#xxx(Container.DataItem)%>"><img src="<%#xxx(Container.DataItem)%>" border="0" /></a>
</div>
<div>
<p><a href="<%#(xxx(Container.DataItem))%>"><%#(Container.DataItem).Name%></a></p>
<p><%#xxx(((xxx)Container.DataItem))%></p>
</div>
</td>
</ItemTemplate>
</xxx:xxx>
</asp:Panel>
</div>
这是一个自定义中继器,我在页面上有3个,每个都包含一个面板。第一个中继器就像这样设置并没有问题。所以我不明白为什么这不起作用。
答案 0 :(得分:0)
您可能在ViewState中遇到一些问题。在必要时一定要使用!Page.IsPostBack。不要将数据存储在ViewState中并在每次加载时绑定tge转发器。
答案 1 :(得分:0)
我在转发器上设置了错误的索引。我的错。