gpt4 book ai didi

asp.net - 错误 : Databinding methods such as Eval(), XPath() 和 Bind() 只能在转发器控件中的数据绑定(bind)控件的上下文中使用

转载 作者:行者123 更新时间:2023-12-04 13:32:10 25 4
gpt4 key购买 nike

我收到以下错误

Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control

但我正在尝试在 ASP.NET REPEATER 控件中编写我的代码作为
<%if (Eval("IsBreakPoint") == "1")
{ %>
<tr>
<td>
<asp:Label ID="lblCategory" runat="server" Text='<%#Eval("Category") %>'></asp:Label>
</td>
<td colspan="27">
</td>
</tr>
<%} %>

请帮忙

最佳答案

<% if %>语句不支持数据绑定(bind)。

对于条件显示,我总是尝试将数据绑定(bind)到 Visible单个服务器控件的属性。

在像您这样涉及标记 block (而不是单个服务器控件)的情况下,我会将该 block 包装在 <asp:PlaceHolder>控制如下:

<asp:PlaceHolder ID="CategoryPlaceHolder" runat="server" Visible='<%# Eval("IsBreakPoint") == "1") %>'>

<tr>
<td>
<asp:Label ID="lblCategory" runat="server" Text='<%#Eval("Category") %>'></asp:Label>
</td>
<td colspan="27">
</td>
</tr>

</asp:PlaceHolder>

或者,如果您并没有真正在服务器端使用该标签:
<asp:PlaceHolder ID="CategoryPlaceHolder" runat="server" Visible='<%# Eval("IsBreakPoint") == "1") %>'>

<tr>
<td>
<%# Eval("Category") %>
</td>
<td colspan="27">
</td>
</tr>

</asp:PlaceHolder>

或者更具可读性:如果您可以定义 ItemType属性,那么您将在设计时获得强类型和智能感知(这是我推荐的方法):
<asp:PlaceHolder ID="CategoryPlaceHolder" runat="server" Visible='<%# Item.IsBreakPoint == "1") %>'>

<tr>
<td>
<%# Item.Category %>
</td>
<td colspan="27">
</td>
</tr>

</asp:PlaceHolder>

注意在 Visible 周围使用单引号该表达式包含双引号时的值。 (啊,正如您已经对 Label.Text 属性所做的那样。)

关于asp.net - 错误 : Databinding methods such as Eval(), XPath() 和 Bind() 只能在转发器控件中的数据绑定(bind)控件的上下文中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029836/

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