这个问题与 ASP.Net 3.5 和 C# 有关
我正在从包含很多列的数据库中构建一个 RSS 提要。
我需要在特定节点中格式化数据,并且内联执行会非常混乱。
我知道我可以将所有参数单独传递给子例程
<%# formatAddress(Container.DataItem["propertyName"],
Container.DataItem["propertyNumber"], ... ) %>
由于这些列最多有 20 个,我宁愿传递整行。
<%# formatAddress(Container.DataItem) %>
这将是理想的,然后我可以在后面的代码中挑选出我想要的列:
protected string FormattedAddress(object row)
{
DataRowView data = (DataRowView)row;
StringBuilder Address = new StringBuilder();
string Postcode = data["propertyPostcode"];
...
return Address.ToString();
}
我收到错误无法将“System.Data.Common.DataRecordInternal”类型的对象转换为“System.Data.DataRowView”。
以前,我使用受保护的字符串 FormattedAddress(DataRowView row) 但这也不起作用。
有什么线索吗?