如果在asp.net中的aspx页面上具有Eval值的条件

时间:2016-07-21 14:09:50

标签: asp.net devexpress treelist

我正在使用ASP.NET Web Forms,我必须做这样的事情:

 <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>

但我收到错误&#34;数据绑定方法(如Eval(),XPath()和Bind()只能在数据绑定控件的上下文中使用。&#34;。我怎样才能做到这一点? &#34;类型&#34;可以有3个值:0,1,2。在MVC中这样的东西很容易,但我被迫使用Web Forms和Devexpress TreeList控件,而且无法找到答案如何做到这么简单的思考:/

1 个答案:

答案 0 :(得分: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()