2012-02-23 6 views
0

私はデータベースから取得され、ASPのListViewに読み込まれる画像のリストを持っています。生成される各画像にJQueryのクリック機能が添付されています。私がする必要があるのは、何とかクリックされた画像のIDを取得することですが、今は、IDを各画像に付加する方法はありません。jqueryを使用してクリックした画像から画像IDを取得するにはどうすればよいですか?

ListViewは、列ID、UserName、Photoを持つSQLSourceから作成されます。アイテムテンプレートはユーザー名と写真を使用してリストを表示しますが、Eval( "fieldName")を使用してIDを設定することはできません。

私がしようとしているのは、ユーザーがイメージをクリックすると、そのイメージに関連付けられたIDが別のウィンドウを開き、そのIDをクエリー文字列の一部として使用するJQueryによって取得されます。例:

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

のようなものそれぞれのイメージを確立するところでは、 ' SpYk3HH

+0

ああ、何を知っていますか私の最初の本能でしたが、ASPの画像コントロールはあなたがそれをやり遂げることはありません。だから私は標準的なHTMLのimgを使用し、それは私がそれをタグにすることができましたが、今はJavaScriptがas34のCssClass属性を使用していたので、おそらく – Sinaesthetic

+1

を発射していません。それをクラスに変更し、それは動作します。ありがとう! – Sinaesthetic

答えて

1

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

彼はイメージタグにhtml属性 'id'を追加する必要もあります。 – Bot

関連する問題