Image.ImageUrl不工作(C#,asp.net)

时间:2011-09-08 08:01:02

标签: c# asp.net listview findcontrol

我有下一个代码:

<asp:ListView ID="LV1"  runat="server" DataSourceID="LinqDataSource">
<ItemTemplate>     
  <asp:Image ID="Image1" Width="100px" Height="100px" runat="server"  />
   //....and so on till the
</asp:ListView> 

背后的代码:

protected void checkTheImage() 
    {
        foreach (ListViewItem item in LV1.Items)
        {
            ((Image)item.FindControl("Image1")).ImageUrl = "~/noImage.jpg";
        }
    } 

页面加载:

protected void Page_Load(object sender, EventArgs e)
    {
        checkTheImage();
    }

问题是 - noImage.jpg没有显示......为什么?

2 个答案:

答案 0 :(得分:3)

不确定您的标记是否正常,您还应该在某个地方有一个结束ItemTemplate标记...请更新您的标记。

只是尝试一下,如果移动checkTheImage()的调用,它是否有用;在Page_PreRender里面?

在页面生命周期中是否存在DataBind ListView的位置?

答案 1 :(得分:0)

可能需要重新绑定ListView。

protected void Page_Load(object sender, EventArgs e)
    {
      if(!IsPostBack)
       {
        LV1.DataBind();
        checkTheImage();
       }
    }