Есть рипитер, с вложенным листвью. Заполняю их как написано ниже. В итоге получаю -
1.
2.
Cannot access a disposed object.
Object name: 'DataContext accessed after Dispose.'.
Шо такое?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
public partial class cCollection : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
BindRepeater(1);
}
void BindRepeater(int assembyCategoryID)
{
using (DataClassesProductionDataContext c = new DataClassesProductionDataContext())
{
var types = from ft in c.selectActualFabricTypes
where ft.AssemblyCategoryID == assembyCategoryID
select ft;
this.FabricTypesRepeater.DataSource = types;
this.FabricTypesRepeater.DataBind();
}
}
protected void repeaterFabricTypes_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Label FabricTypeID = e.Item.FindControl("FabricTypeIDLabel") as Label;
ListView Fabrics = e.Item.FindControl("FabricThumbsListView") as ListView;
using (DataClassesProductionDataContext c = new DataClassesProductionDataContext())
{
DataClassesProductionDataContext c = new DataClassesProductionDataContext();
var fabrics = from f in c.selectActualFabrics
where f.FabricTypeID == System.Convert.ToInt32(FabricTypeID.Text)
select f;
Fabrics.DataSource = fabrics;
Fabrics.DataBound();
}
}
}
+
контрол
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cCollection.ascx.cs" Inherits="eparduotuve.Controls.cCollection" %>
<%@ Register src="cFabricTnumb.ascx" tagname="cFabricTnumb" tagprefix="uc1" %>
<asp:Repeater ID="FabricTypesRepeater" runat="server" onitemdatabound="repeaterFabricTypes_ItemDataBound">
<ItemTemplate>
<div class="collectionHead">
<asp:Label ID="FabricTypeIDLabel" runat="server" Text='<%# Eval("FabricTypeID") %>' Visible="false" />
<asp:Image ID="Image1" runat="server" ImageUrl= '<%# eparduotuve.Helpers.pathToFabricTypeImage((int)Eval("FabricTypeID")) %>' CssClass="fabricTypeImage" />
<h2 class="fabricTypeName">
<asp:Label ID="FabricTypeNameLabel" runat="server" Text='<%# Eval("FabricTypeName") %>' />
<span class="fabricTypeStartPrice">
nuo
<b>
<asp:Label ID="FabricStartPriceLabel" runat="server" Text='<%# Eval("FabricTypeStartPrice") %>' />
</b>
</span>
</h2>
<p class="fabricTypeDescription">
<asp:Label ID="FabricTypeDescriptionLabel" runat="server" Text='<%# Eval("FabricTypeDescription") %>' />
</p>
<span class="fabricTypeNotes">
<b>
made to measure
</b>
::
<asp:Label ID="FabricTypeDimensionsLabel" runat="server" Text='<%# Eval("FabricTypeNotes") %>' />
</span>
</div>
<asp:ListView ID="FabricThumbsListView" runat="server" DataKeyNames="FabricCode" GroupItemCount="4">
<ItemTemplate>
<td id="Td1" runat="server" style="">
<uc1:cFabricTnumb ID="cFabricTnumb1" runat="server" fabricCode="H04" />
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td id="Td1" runat="server" style="">
<uc1:cFabricTnumb ID="cFabricTnumb1" runat="server" fabricCode="H04" />
</td>
</AlternatingItemTemplate>
<LayoutTemplate>
<table id="Table1" runat="server" width="940" cellpadding="0" cellspacing="0">
<tr id="Tr1" runat="server">
<td id="Td2" runat="server">
<table ID="groupPlaceholderContainer" runat="server" border="0" style="" cellpadding="0" cellspacing="0">
<tr ID="groupPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr id="Tr2" runat="server">
<td id="Td3" runat="server" style="">
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr ID="itemPlaceholderContainer" runat="server">
<td ID="itemPlaceholder" runat="server">
</td>
</tr>
</GroupTemplate>
</asp:ListView>
</ItemTemplate>
<AlternatingItemTemplate>
<div class="collectionHead">
<asp:Label ID="FabricTypeIDLabel" runat="server" Text='<%# Eval("FabricTypeID") %>' Visible="false" />
<asp:Image ID="Image1" runat="server" ImageUrl= '<%# eparduotuve.Helpers.pathToFabricTypeImage((int)Eval("FabricTypeID")) %>' CssClass="fabricTypeImage" />
<h2 class="fabricTypeName">
<asp:Label ID="FabricTypeNameLabel" runat="server" Text='<%# Eval("FabricTypeName") %>' />
<span class="fabricTypeStartPrice">
nuo
<b>
<asp:Label ID="FabricStartPriceLabel" runat="server" Text='<%# Eval("FabricTypeStartPrice") %>' />
</b>
</span>
</h2>
<p class="fabricTypeDescription">
<asp:Label ID="FabricTypeDescriptionLabel" runat="server" Text='<%# Eval("FabricTypeDescription") %>' />
</p>
<span class="fabricTypeNotes">
<b>
made to measure
</b>
::
<asp:Label ID="FabricTypeDimensionsLabel" runat="server" Text='<%# Eval("FabricTypeNotes") %>' />
</span>
</div>
<asp:ListView ID="FabricThumbsListView" runat="server" DataKeyNames="FabricCode" GroupItemCount="4">
<ItemTemplate>
<td id="Td1" runat="server" style="">
<uc1:cFabricTnumb ID="cFabricTnumb1" runat="server" fabricCode="H04" />
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td id="Td1" runat="server" style="">
<uc1:cFabricTnumb ID="cFabricTnumb1" runat="server" fabricCode="H04" />
</td>
</AlternatingItemTemplate>
<LayoutTemplate>
<table id="Table1" runat="server" width="940" cellpadding="0" cellspacing="0">
<tr id="Tr1" runat="server">
<td id="Td2" runat="server">
<table ID="groupPlaceholderContainer" runat="server" border="0" style="" cellpadding="0" cellspacing="0">
<tr ID="groupPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr id="Tr2" runat="server">
<td id="Td3" runat="server" style="">
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr ID="itemPlaceholderContainer" runat="server">
<td ID="itemPlaceholder" runat="server">
</td>
</tr>
</GroupTemplate>
</asp:ListView>
</AlternatingItemTemplate>
</asp:Repeater>