asp.net – 错误:数据绑定方法(如Eval(),XPath()和Bind()只能在转发器控件中的数据绑定控件的上
发布时间:2021-01-17 16:41:17 所属栏目:asp.Net 来源:互联网
导读:我收到以下错误 Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control 但我试图在ASP.NET REPEATER Control中编写我的代码 %if (Eval(IsBreakPoint) == 1) { %
我收到以下错误 Databinding methods such as Eval(),XPath(),and Bind() can only be used in the context of a databound control 但我试图在ASP.NET REPEATER Control中编写我的代码 <%if (Eval("IsBreakPoint") == "1") { %> <tr> <td> <asp:Label ID="lblCategory" runat="server" Text='<%#Eval("Category") %>'></asp:Label> </td> <td colspan="27"> </td> </tr> <%} %> 请帮忙 解决方法<%if%>语句不支持数据绑定.对于条件显示,我总是尝试数据绑定到单个服务器控件的Visible属性. 在像你这样涉及标记块(而不是单个服务器控件)的情况下,我将该块包装在< 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> 或者更可读:如果您可以为Repeater定义ItemType属性,那么您将在设计时获得强类型和Intellisense(这将是我推荐的方法): <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 – MVC 3,(razor)加载部分与验证
- asp.net-mvc – 使用NLog记录未处理的异常? ELMAH和NLog应
- asp.net-mvc – 使用与本地化更改冲突的自定义数据注释进行
- asp.net-mvc – 控制器操作无法从JSON读取Guid POST
- asp.net – 在Azure网站上启用gzip压缩
- 如何在ASP.NET自定义控件中持久保存List属性?
- iis-7.5 – 使用虚拟目录/应用程序在IIS中托管ASP.NET 5 We
- asp.net – 访问asp:从代码背后的内容
- asp.net实现access数据库分页的方法
- asp.net-mvc-3 – 用于ASP的Telerik扩展. NET MVC免费?