首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView FindControl误差

ListView FindControl误差
EN

Stack Overflow用户
提问于 2011-09-08 07:30:36
回答 1查看 1.1K关注 0票数 0

我有下一个错误:

System.NullReferenceException -对象引用没有设置为对象的实例。

到下一个代码:

代码语言:javascript
复制
<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>

代码隐藏:

代码语言:javascript
复制
protected void checkTheImage()
{
    ((Image)LV1.FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}

以及page_load上的代码:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    checkTheImage();
}

我为什么会有这个错误?我的代码有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-08 07:38:33

您必须指定项目:

代码语言:javascript
复制
protected void checkTheImage()
{
    ((Image)LV1.Items[0].FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}

因为ListView为每个子项呈现一个Image1控件。若要更改所有图像:

代码语言:javascript
复制
protected void checkTheImage()
{
   foreach(ListViewItem item in LV1.Items)
      ((Image)item.FindControl("Image1")).ImageUrl = "(noImage.jpg)" ;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7344593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档