asp.net 如何将项目列表传递给评估函数
本文关键字:评估 函数 列表 项目 net asp | 更新日期: 2023-09-27 18:37:15
这是我的代码,用于在列表视图中将产品作为列表视图查看每个项目内的列表视图 我想查看项目列表 我该怎么做? 我无法理解 eval 函数的概念,我想知道我是否可以从没有数据绑定的代码隐藏代码中传递列表项,或者它基本上取决于数据绑定?
<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>
 
</td>
<td>
<a href='ContactUs.aspx'>
<image src='productsImg/<%# Eval("Pic_Path") %>' width="100" height="75" border="0">
</a> 
</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();
提前谢谢。
Eval 用于绑定到假定为只读的 UI 控件。 它可用于设置任何类型的控件属性。完整的语法是"Databinder.Eval",它必须与databind结合使用。看看这个例子。
<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