2016-07-21 84 views
0

我'使用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控件,並找不到答案如何做這樣簡單的想法:/

回答

0

This stackoverflow answer可能會解決您的問題。

最簡單的選擇似乎使用DetailsView並設置其.DataSource,然後.DataBind()

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

然後在您的代碼中,創建值(0,1,2)的List()。做dvTest.DataSource=numbersList然後dvTest.DataBind()