如何获取gridview模板字段中的图像src

时间:2011-07-21 05:48:04

标签: javascript jquery asp.net gridview

<asp:TemplateField HeaderText="Picture" ItemStyle-Height = "150" ItemStyle-Width = "170">
    <ItemTemplate>
        <asp:Image ID="Image1" runat="server" Height="150" Width="150"
           ImageUrl = '<%# Eval("PicturePath", GetUrl("{0}")) %>'/>
    </ItemTemplate> 
    <ControlStyle Height="150" Width="150" />
    <ItemStyle Height="150" Width="150"></ItemStyle>
</asp:TemplateField>

我知道如何通过使用getElementById来获取图像src。但是我的要求是从gridview模板字段获取图像src。我只想显示网格中的所有图像src到列表框中.src应该像 SRC = “HTTP://本地主机:61027 /图像/ JellyFish.jpg”

2 个答案:

答案 0 :(得分:1)

您应该能够在GridView RowDataBound 事件中获取底层数据项。 例如,如果您的Listbox id是lbImageSource,那么这里是您需要的代码:

If e.Row.RowType = DataControlRowType.DataRow Then
Dim drv As DataRowView = CType(e.Row.DataItem, DataRowView)
lbImageSource.Items.Add(String.Format("src=""{0}""", drv("PicturePath").ToString()))
End If

您可能也希望在某些时候清除列表框。 GridView DataBinding 事件应该适用于此。

lbImageSource.Items.Clear()

答案 1 :(得分:0)

方法1(将变量传递给前端):

  • 当服务器绑定时,将所有src添加到一个对象并将其渲染为隐藏的div,以便前端可以拥有它

方法2(用jQuery抓取它):

  • $('#&lt;%= YourGrid.ClientID%&gt; img');
  • 这将为您提供所有img项目,以便您可以遍历它们以获取src