【发布时间】:2019-08-08 21:40:37
【问题描述】:
我需要遍历一个 aspx 网页上的列表。它是在后面的代码中填充的对象的一部分。该对象的所有其他属性都是字符串,我可以像这样访问它们:
<td align="center"><%# Eval("PartNumber") %></td>
或
<td align="center"><%# Eval("ContractNumber") %></td>
我试图对列表执行以下操作:
<% List<PeriodData> periodValues = (List<PeriodData>)Eval("PeriodValues");
foreach (var period in periodValues)
{
Response.Write("<td align='center'>");
period.ETC.ToString("#,0.#");
Response.Write("</td>");
}
%>
我收到此错误:Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。
有没有办法做到这一点?
【问题讨论】:
-
我会在页面上放一个转发器,然后在后面的代码中将您的列表绑定到它。
-
这使得前两个看起来像是某些转发器或其他数据绑定控件的一部分,但第三个不是。那就是问题所在。
Eval指的是绑定到控件的底层项。但是,如果您在数据绑定控件之外使用它,则没有可引用的项目。
标签: c# asp.net list code-behind