0

我正在使用 ASP.NET Web 窗体,我必须这样做:

 <asp:Panel runat="server" CssClass="cellContent" Visible='<%# (bool)Eval("IsFolder")? false:true %>'>
                        <% if(Eval("Type").ToString() == "0"){ %>
                            <asp:Image runat="server" ImageUrl="~/Content/Icon/analiza.png" Width="30px" Height="30px" ImageAlign="Left" />
                        <% } else if(Eval("Type").ToString() == "1") {%>
                            <asp:Image runat="server" ImageUrl="~/Content/Icon/raport.png" Width="30px" Height="30px" ImageAlign="Left" /> 
                        <% } %>
                    </asp:Panel>

但我收到错误“Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。”。我怎样才能做到这一点?“类型”可以有 3 个值:0、1、2。在 MVC 中这样的事情很容易,但我被迫使用 Web 窗体和 Devexpress TreeList 控件,并且找不到答案如何做这么简单的想法:/

4

1 回答 1

0

这个 stackoverflow 答案可能会对您的问题有所了解。

最简单的选项似乎是使用DetailsView并设置它的.DataSourcethen .DataBind()

<asp:DetailsView id="dvTest" runat="server">
   Type: <%# Eval("Type") %>
</asp:DetailsView>

然后在您的代码中,创建值 (0, 1, 2) 的 List()。做dvTest.DataSource=numbersList然后dvTest.DataBind()

于 2016-07-21T14:53:43.013 回答