在網頁中,加載時,我用兩個表格填充數據集,並在這些表格之間建立關係,然後將數據加載到具有嵌套中繼器的中繼器中。用戶點擊按鈕後也會發生這種情況。數據從SQL數據庫中加載,中繼器數據源在回發後設置爲數據集。但是,當ItemDataBound發生時,Item.Dataitem始終爲空。ASP.Net中繼器item.DataItem爲空
爲什麼會發生這種情況?
下面是數據綁定代碼:
this.rptCustomSpaList.DataSource = ds;
this.rptCustomSpaList.DataBind();
這裏是的ItemDataBound代碼:
RepeaterItem item = e.Item;
Repeater ChildRepeater = (Repeater)item.FindControl("rptCustomSpaItem");
DataRowView dv = e.Item.DataItem as DataRowView;
ChildRepeater.DataSource = dv.CreateChildView("sparelation");
ChildRepeater.DataBind();
下面
是我的HTML中繼器代碼
<asp:Repeater ID="rptCustomSpaList" runat="server"
onitemdatabound="rptCustomSpaList_ItemDataBound">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td><asp:Label ID="Label3" runat="server" Text="Spa Series:"></asp:Label></td>
<td><asp:Label ID="Label4" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "SPASERIESVALUE") %>'></asp:Label></td>
</tr>
<tr>
<td><asp:Label ID="Label5" runat="server" Text="Spa Model:"></asp:Label></td>
<td><asp:Label ID="Label6" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "SPAMODELVALUE") %>'></asp:Label></td>
</tr>
<tr>
<td><asp:Label ID="Label9" runat="server" Text="Acrylic Color:"></asp:Label></td>
<td><asp:Label ID="Label10" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "ACRYLICCOLORVALUE") %>'></asp:Label></td>
</tr>
<tr>
<td>
<asp:Label ID="Label11" runat="server" Text="Cabinet Color:"></asp:Label>
</td>
<td>
<asp:Label ID="Label12" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "CABPANCOLORVALUE") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label17" runat="server" Text="Cabinet Type:"></asp:Label>
</td>
<td>
<asp:Label ID="Label18" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "CABINETVALUE") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label13" runat="server" Text="Cover Color:"></asp:Label>
</td>
<td>
<asp:Label ID="Label14" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "COVERCOLORVALUE") %>'></asp:Label>
</td>
</tr>
</table>
<asp:Label ID="Label15" runat="server" Text="Options:"></asp:Label>
<asp:Repeater ID="rptCustomSpaItem" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "PROPERTY") %>'></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "VALUE") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<table>
<tr>
<td style="padding-top:15px;padding-bottom:30px;">
<asp:Label ID="Label7" runat="server" Text="Configured Price:"></asp:Label>
</td>
<td style="padding-top:15px;padding-bottom:30px;">
<asp:Label ID="Label8" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "SPAVALUEVALUE") %>'></asp:Label>
</td>
</tr>
</table>
<asp:Label ID="Label16" runat="server" Text="------"></asp:Label>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
你的代碼是什麼樣的? – hunter 2011-01-10 16:50:51