【问题标题】:How to find image source in jquery?如何在 jquery 中找到图像源?
【发布时间】:2015-12-19 15:24:07
【问题描述】:

我有一个 GridView,它有一列显示图像。问题是它在所有列中显示最后一个图像,所以我需要在 jquery 中设置图像 src 但我不确定如何。我在 c# 中做了类似的事情:

 protected void gvMaintenance_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Maintenance main = (Maintenance)e.Row.DataItem;
    if (!string.IsNullOrEmpty(main.Image))
            {
                lblMainImage.Visible = false;
                imgMainImage.Visible = true;
                imgMainImage.ImageUrl = "~/MaintenanceImages/" + Company.Current.CompCode + "/" + main.Image;

                imgMainImage.Width = 200;
                imgMainImage.Height = 100;

                imgMainImage.Attributes.Add("href", "/MaintenanceImages/" + Company.Current.CompCode + "/" + main.Image);
            }
}

但是我如何在 jquery 中做到这一点?

<asp:Image runat="server" ID="imgMainImage" />
 $("#<%= imgMainImage.ClientID %>").attr("src", "");

【问题讨论】:

  • 听起来像是服务器端的逻辑缺陷。如果您在 jQuery 中执行此操作,那么所有这些图像的数据源是什么?
  • @charlietfl 所有图像都保存在一个名为 MaintenanceImages 的文件夹中,它们都有一个唯一的 ID
  • 这不会告诉客户端代码设置什么。如果您不提供该数据,javascript 不知道您的服务器上有什么
  • @charlietfl 是的,这是我的问题。我如何告诉javascript图像在哪里?因为现在它只是显示上传的最后一张图片而不是正确的图片

标签: javascript c# jquery src attr


【解决方案1】:

你不应该需要 jQuery,如果 Column 对每个图像都有唯一的路径,那么指定的 Row 应该反映唯一的图像。根据我看到的代码,问题是您添加了Attributes.Add,但您确定您找到了正确的Control

另外需要注意的是,你有什么网格事件来构建图像?

这些只是一些建议,但如果没有更多代码,我们将无法提供帮助。

【讨论】:

  • 控制是什么意思?我已经添加了所有代码以在我的问题中显示图像
  • 您使用的是Image Control 还是img runat="server"
  • 我正在使用runat="server"
【解决方案2】:

需要删除 gvMaintenance_RowDataBound 中的代码,我可以使用以下方法在 jquery 中链接图像:

 $("#<%= imgMainImage.ClientID %>").attr("src", "<%= "/MaintenanceImages/" + Company.Current.CompCode + "/" %>" + $(sender).children().eq(14).html()); 

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2017-04-15
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多