【问题标题】:Can't reference Image ID in C# Code. Why?无法在 C# 代码中引用图像 ID。为什么?
【发布时间】:2023-04-07 15:04:01
【问题描述】:

我想知道,为什么我的代码中不能引用“asp:Image”(Image1)控件,但可以引用包含asp:Image的datalist控件(DataList1)。这是我的代码:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="imageHolder">
    <asp:DataList ID="DataList1" runat="server"  RepeatColumns="4" Width="100%">

        <ItemTemplate>

            <asp:Image ID="Image1" OnDataBinding="DataList1_DataBinding"  Width="80%" Height="100px"
                CssClass="datalistImages" runat="server" ImageUrl='<%# "http://mywebsite.com/" + Eval("url") %>' />
        </ItemTemplate>

    </asp:DataList>
</asp:Content>

而且我 100% 确定我在正确的班级工作。有什么建议吗?

【问题讨论】:

  • 您不能引用 imagem 控件,因为它位于 DataList 内,并且每个项目都有一个 imagem。你想对图像做什么?
  • 其实我想获取网站上显示的每张图片的 URL..
  • 从绑定到控件的数据源中获取所有 URL 应该比尝试遍历数据生成的所有图像控件更容易。 var urls = mydatasource.Select(o =&gt; o.url);

标签: c# asp.net


【解决方案1】:

因为它在项目集合中。 如果您想实时访问该图像控件,则必须使用 ItemCreated 或 ItemDataBound 事件。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.items%28v=vs.110%29.aspx

数据列表事件。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist_events%28v=vs.110%29.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多