【问题标题】:How to access non-asp <img> tag from code behind?如何从后面的代码中访问非asp <img> 标签?
【发布时间】:2011-12-21 13:05:51
【问题描述】:

我们正在做一个大项目,但我们有点卡在这里。 我需要从 PageLoad() 上的代码隐藏中的 .ASPX 访问&lt;img&gt; 根据我们刚刚从 SQL 查询中从数据库收集的值分配正确的图像(属性 src)。

我们无法使用runat="server" 属性在服务器端查看它,因为我们有一堆使用 img 名称标签的 jQuery。

我确定有办法从代码隐藏视图中访问和修改图像的src 属性?

【问题讨论】:

  • 如果图像标签中没有 runat='server' ,那么您将无法从代码隐藏中看到它。如果您在 ASP.NET 中使用 jQuery,那么您应该将 ASP.NET 实体的真实 ID 注入到您正在执行的任何操作的 Javascript 部分中。
  • 问题是我正在使用 ID 来设置 img src。例如,一个 标签的名称为 T_XXXX_1,然后我知道我必须将他的 SRC 设置为 Image_1.PNG 等等。而且这都是动态的,因为用户可以更改图像(和 ID ...)真实- 时间通过网页上的 javascript。这会导致问题,因为如果我将它们更改为 runat 服务器,我将无法再控制 ID 来注入我的值。

标签: asp.net html vb.net code-behind


【解决方案1】:

您可以使用Literal 控件来输出图像元素。

您可以访问文字的值以从中提取(解析)任何信息并重新编写。

【讨论】:

  • 你能给我更多的信息吗?我对 ASP.NET 和文字控件很陌生。如何使用 abc123 ID 更改 img 的 src,即?谢谢
  • @TommyLeblanc - 您究竟需要什么更多信息? Literal 只是呈现您将 Text 属性设置为的任何内容。您可以对此进行一些字符串操作以重置它。查看我发布的链接以获取使用示例。
【解决方案2】:

您可以在图像标签上使用ClientIdMode=Static 属性。这样您就可以添加 runat=server 属性,并且仍然可以从 jquery 访问图像标签。

查看以下documentation 了解更多信息。

【讨论】:

  • 这对 img 名称标签没有帮助,即使使用 ClientIdMode=Static 也无法更改名称。
【解决方案3】:

要设置src 属性,您必须重新渲染控件或通过发出JavaScript 进行操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    相关资源
    最近更新 更多