asp.net如何将项目列表传递给eval函数?

时间:2015-01-13 09:48:35

标签: c# asp.net

这是我的代码,在列表视图中的每个项目内查看产品列表视图我想查看项目列表我该怎么做?我无法理解eval函数的概念,我想知道我是否可以从没有数据Bind的代码后面传递列表项,或者它基本上取决于数据绑定?

  <asp:ListView ID="mylistView" runat="server" GroupItemCount="3">
            <EmptyDataTemplate>
                <table id="Table2" runat="server">
                    <tr>
                        <td>
                            No data was returned.
                        </td>
                    </tr>
                </table>
            </EmptyDataTemplate>
            <EmptyItemTemplate>
                <td id="Td3" runat="server" />
            </EmptyItemTemplate>
            <GroupTemplate>
                <tr id="itemPlaceholderContainer" runat="server">
                    <td id="itemPlaceholder" runat="server">
                    </td>
                </tr>
            </GroupTemplate>
            <ItemTemplate>
                <table border="0" width="300" style="display: inline-block; background-color: Lime;">
                    <tr>
                        <td>
                            &nbsp
                        </td>
                        <td>
                            <a href='ContactUs.aspx'>
                                <image src='productsImg/<%# Eval("Pic_Path") %>' width="100" height="75" border="0">
                            </a>&nbsp
                        </td>
                        <td>
                            <a><b style="text-decoration: underline;">
                                <%# Eval("MenuName") %></b> </a>
                            <br />

                          want to view here list of items 
                       I 
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
            <LayoutTemplate>
                <table id="Table1" runat="server">
                    <tr id="Tr1" runat="server">
                        <td id="Td1" runat="server">
                            <table id="groupPlaceholderContainer" runat="server">
                                <tr id="groupPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr id="Tr2" runat="server">
                        <td id="Td2" runat="server">
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
        </asp:ListView>

这是背后的代码......

         dataSource.ConnectionString = connetionString;
    dataSource.SelectCommand = "SELECT * FROM tbl_WebMenu where MenuID like'3_';";
    mylistView.DataSource = dataSource;
    mylistView.DataBind();

提前感谢。

1 个答案:

答案 0 :(得分:-1)

Eval用于绑定到一个据称只读的UI控件。它可以用来设置任何类型的控制属性。 完整的语法是“Databinder.Eval”,它必须与数据绑定一起使用。 看看这个例子。

<asp:TemplateField>
<ItemTemplate>
        <asp:Label ID="lblRead" runat="server" Text='<%# Eval("FieldName") %>'>
        </asp:Label>
</ItemTemplate>
</asp:TemplateField>

你甚至可以使用eval设置控制属性。它提供了灵活性。

但是eval有一个缺点,因为它使用反射来评估表达式。 在这里阅读更多http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx#remarksToggle