这个问题涉及到ASP.Net 3.5和C#。
我正在从包含许多列的数据库构建一个RSS Feed。
我需要以特定节点格式化数据,但在行内进行这样的操作会非常混乱。
我知道我可以将所有参数单独传递给子例程。
由于将会有多达20个这些列,我更愿意传递整行数据。
这样的话,我就可以在代码后台选择我想要的列了。
我正在从包含许多列的数据库构建一个RSS Feed。
我需要以特定节点格式化数据,但在行内进行这样的操作会非常混乱。
我知道我可以将所有参数单独传递给子例程。
<%# 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'。
之前,我使用的是 protected string FormattedAddress(DataRowView row),但那也没有起作用。
有什么线索吗?