我有下一个错误:
System.NullReferenceException - 未将对象引用设置为对象的实例。
到下一个代码:
<asp:ListView ID="LV1" runat="server" DataSourceID="LinqDataSource">
<ItemTemplate>
<asp:Image ID="Image1" Width="100px" Height="100px" runat="server" ImageUrl='<%# Eval("ImageUrl") %>' />
//....and so on till the
</asp:ListView>
代码 - 背后:
protected void checkTheImage()
{
((Image)LV1.FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}
和page_load上的代码:
protected void Page_Load(object sender, EventArgs e)
{
checkTheImage();
}
为什么我收到错误?我的代码有什么问题?
答案 0 :(得分:2)
您必须指定项目:
protected void checkTheImage()
{
((Image)LV1.Items[0].FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}
因为ListView为每个子项呈现Image1控件。要更改所有图像:
protected void checkTheImage()
{
foreach(ListViewItem item in LV1.Items)
((Image)item.FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}