我有下一个代码:
<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没有显示......为什么?
答案 0 :(得分:3)
不确定您的标记是否正常,您还应该在某个地方有一个结束ItemTemplate
标记...请更新您的标记。
只是尝试一下,如果移动checkTheImage()的调用,它是否有用;在Page_PreRender里面?
在页面生命周期中是否存在DataBind ListView的位置?
答案 1 :(得分:0)
可能需要重新绑定ListView。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
LV1.DataBind();
checkTheImage();
}
}