gpt4 book ai didi

asp.net - 在 ListView InsertItemTemplate 中绑定(bind) DropDownList 会引发错误

转载 作者:行者123 更新时间:2023-12-04 14:21:37 25 4
gpt4 key购买 nike

我有一个 ListView 绑定(bind)到 LinqDataSource 并显示选定的位置。插入项包含一个下拉列表,该下拉列表从另一个 LinqDataSource 中提取以提供所有未选择的位置。

问题是加载页面时出现以下错误:

Eval()、XPath() 和 Bind() 等数据绑定(bind)方法只能在数据绑定(bind)控件的上下文中使用。

我在网站的另一个页面上做了一个非常相似的设置,它没有给我们这个错误,所以我很困惑。我知道我可以通过不绑定(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>

最佳答案

Joteke's Blog 中所述这是一个引用的解决方案。

Are you using <%#Eval("field")%> expression to bind the control? If you change that to <%#DataBinder.Eval(Container.DataItem,"field")%>, does that seem to fix the error?

关于asp.net - 在 ListView InsertItemTemplate 中绑定(bind) DropDownList 会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com