我对代码隐藏有以下方法
Public List<object> Exec()
{
List<object> result = New List<object>();
DataTable results = New DataTable();
// methodToExecuteSP is = public DataSet
results = methodToExecuteSP;
foreach (DataRow i in results.Rows)
{
result.Add(new { Name = i[“Name”] });
}
return result;
}
然后在我的aspx上,我有以下html和C#代码
<tbody>
<% foreach (var item in Exec()) { %>
<tr><td><%=item.Name %> </td></tr>
<% } %>
</tbody>
这将显示以下错误消息:
对象不包含名称的定义。
我做错了什么?
PD:如果我将item.Name更改为item,我可以正确看到我的整个列表。
答案 0 :(得分:1)
这是预期的行为。请注意,方法Exec
的返回类型为object
。此类型没有任何称为Name
的属性。您需要将此返回类型更改为具有您要使用的属性Name
的对象,或者如果要使用的唯一属性是{{1 }}。
第一种方法:
List<string>
第二种方法:
Name