2012-02-23 3 views
0

데이터베이스에서 가져 와서 ASP의 ListView에로드 된 이미지 목록이 있습니다. 생성 된 각 이미지에 JQuery 클릭 기능이 첨부되어 있습니다. 내가해야 할 일은 어떻게 든 클릭 된 이미지의 ID를 얻지 만, 지금 당장은 각 이미지에 ID를 붙이는 방법을 보지 못합니다.jquery를 사용하여 클릭 한 이미지에서 이미지 ID를 얻는 방법은 무엇입니까?

ListView는 ID, UserName, Photo 열이있는 SQLSource에서 채워집니다. 항목 템플릿은 사용자 이름과 사진을 사용하여 목록을 표시하지만 Eval ("fieldName")을 사용하여 ID를 설정할 수는 없습니다.

내가하려는 것은 : 사용자가 이미지를 클릭하면 해당 이미지와 연결된 ID가 다른 창을 열고 해당 ID를 쿼리 문자열의 일부로 사용하는 JQuery에 의해 ID가 부여됩니다. 예 :

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

<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> 

모든 아이디어를 여기

은 지금 내가 가지고있는 JQuery와 무엇입니까? TIA

당신이 jostster이 말했듯이 당신은 또한 당신에게 이미지를 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(); 
}); 

ID를 가질 수 HREF를 얻을 같은 방법으로

+1

같은 당신이 각 이미지를 만들 때, 이미지가 들어가는 요소에 id를 추가하는 것을 시도해보십시오. 예를 들어,' SpYk3HH

+0

아, 그게 뭔지 아세요? 에서 내 첫 번째 본능 이었지만, ASP 이미지 컨트롤은 당신이 그것을 못하게합니다. 그래서 표준 HTML을 사용하여 인스턴트 메시지 CssClass 특성을 사용하고 있었기 때문에 지금은 – Sinaesthetic

+1

을 발사하지 않습니다. 그것을 수업으로 바꾸면 효과가 있습니다. 감사! – Sinaesthetic

답변

1

,

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

그는 이미지 태그에 html 속성'id'를 추가해야합니다. – Bot

관련 문제