我有一个从数据库中提取并加载到ASP中的ListView的图像列表。我有一个JQuery点击功能附加到生成的每个图像。我需要做的是以某种方式获取被点击的图像的ID,但是现在,我没有看到将ID附加到每个图像的方法。
ListView是从具有列ID,UserName,Photo的SQLSource填充的。项目模板使用用户名和照片显示列表,但不允许我使用Eval(“fieldName”)设置ID。
我要做的是:当用户点击图像时,JQuery会抓取与该图像关联的ID,这会打开另一个窗口,并使用该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
答案 0 :(得分: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"))'