У меня есть ListView, который привязывается к LinqDataSource и отображает выбранные местоположения. Элемент вставки Содержит раскрывающийся список, извлекаемый из другого источника LinqDataSource, чтобы указать все невыбранные местоположения.
Проблема в том, что я получаю следующую ошибку при загрузке страницы:
Методы привязки данных, такие как Eval (), XPath () и Bind (), могут использоваться только в контексте элемента управления с привязкой к данным.
Я делаю очень похожую настройку на другой странице веб-сайта, и она не дает нам этой ошибки, поэтому я довольно запутался. Я знаю, что могу обойти это, не связываясь, вручную находя элемент управления и получая значение, но это должно сработать, и я не понимаю, почему это не так.
Есть мысли?
Лучшая часть исходного кода приведена ниже.
<asp:LinqDataSource ID="ldsLocations" runat="server"
ContextTypeName="ClearviewInterface.ESLinqDataContext" EnableDelete="true" EnableInsert="true"
OnInserting="ldsLocations_Inserting" OnDeleting="ldsLocations_Deleting"
TableName="crmLocations" OrderBy="addr1" OnSelecting="ldsLocations_Selecting" />
<asp:LinqDataSource ID="ldsFreeLocations" runat="server"
ContextTypeName="ClearviewInterface.ESLinqDataContext" OrderBy="addr1"
TableName="v_CVLocations" OnSelecting="ldsFreeLocations_Selecting" />
<asp:ListView ID="lvLocations" DataSourceID="ldsLocations" DataKeyNames="ID" InsertItemPosition="LastItem" runat="server" >
<InsertItemTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
<tr>
<td colspan="2">
<asp:DropDownList ID="ddlFreeLocations" DataSourceID="ldsFreeLocations" DataTextField="addr1"
DataValueField="record" MarkFirstMatch="true" SelectedValue='<%# Bind("record") %>'
runat="server" />
</td>
<td><asp:ImageButton ID="btnAdd" CommandName="Insert" SkinID="Insert" runat="server" /></td>
</tr>
</InsertItemTemplate>