我的页面上有一个Repeater。没什么了不起的。
<asp:Repeater runat="server" ID="rptBusiness">
<HeaderTemplate>
<table>
<colgroup>
<col width="170px" />
<col width="75px" />
<col width="75px" />
</colgroup>
<tr>
<th style="text-align:left; background-color: Silver;">Business</th>
<th style="text-align:left; background-color: Silver;">Rep</th>
<th style="text-align:left; background-color: Silver;">City</th>
</tr>
</table>
<div class="scrollDiv">
<table>
<colgroup>
<col width="155px" />
<col width="75px" />
<col width="75px" />
</colgroup>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="litRow" />
</ItemTemplate>
<FooterTemplate>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
注意,布局没有任何问题。这是数据绑定。在代码隐藏中,我有以下代码:
Dim list As System.Collections.Generic.List(Of Business)
list = BusinessWithAddress.Select(excludeBusKey, _
searchCriteria, _
contained, _
Connector.GetConnectionString())
Me.rptBusiness.DataSource = list
Me.rptBusiness.DataBind()
现在,我可以看到该列表包含许多不同的业务。事实上,其中超过800个。问题是,当ItemCreated事件触发时,我每次都会获得相同的业务项 。
为什么?
编辑:
忘记。这就是我检查项目以确定它是一遍又一遍的相同项目的方式。
Private Sub rptBusiness_ItemCreated(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) _
Handles rptBusiness.ItemCreated
Dim item = CType(e.Item.DataItem, Business)
' Content elided
End Sub