C# 我可以从Container.DataItem中获取数据数组吗?
我有一个ListView,其中有一个为用户创建图像的函数。我将userGender、userImage1name、userisimage1aproved值传递给生成图像的函数。 例如,若用户已批准图像,我将其返回,否则我将根据性别返回默认图像 我的问题是,有没有办法避免向该函数传递3个参数,并传递整个DataRow,以便获得所需列的值 实际上,我传递了大约12个参数,这让你很容易C# 我可以从Container.DataItem中获取数据数组吗?,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我有一个ListView,其中有一个为用户创建图像的函数。我将userGender、userImage1name、userisimage1aproved值传递给生成图像的函数。 例如,若用户已批准图像,我将其返回,否则我将根据性别返回默认图像 我的问题是,有没有办法避免向该函数传递3个参数,并传递整个DataRow,以便获得所需列的值 实际上,我传递了大约12个参数,这让你很容易 例如,我想在GetImage()中实现类似的功能,而在GetImage()中,我将能够访问项(“某个列名称”)或C版
例如,我想在GetImage()中实现类似的功能,而在GetImage()中,我将能够访问项(“某个列名称”)或C版本项[“某个列名称]。是的,您可以将其强制转换为该类型。您尝试过吗?因为您的代码几乎可以正常工作(应该使用Container.DataItem) 创建一个方法GetImage(对象o),该方法将字符串返回到图像url。将对象转换为DataRowView对象以获取所需的所有值。 例如:
public string GetImage(object o)
{
DataRowView dataRowView = o as DataRowView;
if (dataRowView == null)
return "default_image.jpg";
// Do your big if statement here
if (dataRowView["column"] == "some values")
return "image.jpg";
else
return "default_image.jpg";
}
在aspx中,请使用:
<%# GetImage(Container.DataItem) %>
如果容器位于ListView中,则类型是什么?ListViewRowItem?使用调试器查看:)如何访问此对象以及应将其强制转换为什么?感谢我这样做,现在我收到一个错误“索引1为负或高于行数”。这与您在DataRowView或其他地方访问数据的方式有关。。。