如果在asp.net aspx页面上的评估和演示值条件

问题描述:

我'使用ASP.NET Web窗体,我必须做这样的事情:如果在asp.net aspx页面上的评估和演示值条件

<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控件,并找不到答案如何做这样简单的想法:/

This * answer可能会解决您的问题。

最简单的选择似乎使用DetailsView并设置其.DataSource,然后.DataBind()

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

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