2012-02-23 157 views
0

我有一个从数据库中拉出并加载到ASP中的ListView的图像列表。我为每个生成的图像附加了一个JQuery点击函数。我需要做的是以某种方式获取被点击的图像的ID,但现在,我没有看到一种方法来将ID附加到每个图像。如何从使用jquery的点击图像获取图像ID?

ListView从具有列ID,用户名,照片的SQLSource填充。项目模板使用用户名和照片来显示列表,但不会让我使用Eval(“fieldName”)设置ID。

我想要做的是:当用户单击图像时,与该图像关联的ID由JQuery抓取,这会打开另一个窗口并使用该ID具有查询字符串的一部分。例如:

window.open(“anotherpage.aspx?id =”+ imgID);

这里是jQuery的我现在:

<script type="text/javascript"> 
     jQuery(document).ready(function() { 

      $('[class=originalPhoto]').click(function (event) { 
       var url = $(this).attr("href"); 
       var windowName = "popup"; 

       window.open("test.aspx"); 
       event.preventDefault(); 
      }); 
     }); 
</script> 

和列表视图:

<telerik:RadListView ID="photoList" runat="server" 
       DataSourceID="employeePicsSource" DataKeyNames="ID"> 
       <ItemTemplate> 
        <center> 
        <p> 
        <table border="0" width="1000" cellpadding="10" class="personnelCell">       
         <tr> 
          <td width="25%"><%#Eval("FullName") %></td> 
          <td width="25%"><%#Eval("ADGUID") %></td> 
          <td width="25%" align="center"><asp:Image runat="server" 
          ImageUrl='<%#GetImageURL((int)DataBinder.Eval(Container.DataItem,"ID")) %>' 
          Width="200" CssClass="originalPhoto" /></td> 
          <td width="25%"><asp:Image runat="server" Width="96" Height="96" /></td> 
         </tr> 
        </table> 
        </p> 
        </center> 
       </ItemTemplate> 
      </telerik:RadListView> 
      <asp:SqlDataSource ID="employeePicsSource" runat="server" 
       ConnectionString="<%$ ConnectionStrings:Employee_Photos_DevConnectionString %>" 

       SelectCommand="SELECT [FullName], [ADGUID], [Photo], [ID] FROM [Employee_AndPhoto]"> 
      </asp:SqlDataSource> 

任何想法? TIA

+1

在你创建每个图像的地方,尝试为图像进入的元素添加一个id,例如' SpYk3HH 2012-02-23 17:56:57

+0

哦,你知道吗,th这是我的第一本能,但asp图像控件不会让你这样做。所以我用一个标准的HTML IMG,并允许我标记它,但现在的JavaScript没有解雇 – Sinaesthetic 2012-02-23 18:03:42

+1

可能是因为我仍然使用ASP CssClass属性。将其更改为课程并且可行。谢谢! – Sinaesthetic 2012-02-23 18:05:00

回答

1

在你得到的HREF你可以有ID以及

$('.originalPhoto').click(function (event) { 
    var url = $(this).attr("href"); 
    var id = $(this).attr("id"); 
    var windowName = "popup"; 

    window.open("test.aspx?id="+id); 
    event.preventDefault(); 
}); 

由于jostster说,你还需要将ID添加到您的图像以同样的方式,像

id='Convert.ToString((int)DataBinder.Eval(item.DataItem, "ID"))' 
+1

他还需要将html属性'id'添加到图像标签。 – Bot 2012-02-23 17:59:34