如果asp.net中aspx页面上的条件为Eval值



我正在使用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 Forms和Devexpress TreeList控件,无法找到如何做这样简单的事情的答案

这个stackoverflow的答案可能会为您的问题提供一些线索。

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

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

然后在您的代码中,制作一个值(0,1,2)的List()。先执行dvTest.DataSource=numbersList,然后执行dvTest.DataBind()

相关内容

  • 没有找到相关文章

最新更新