0

私は異なる画像と説明を含むデータリストを持っています...画像をクリックし、javascriptを介して選択された行のインデックスを知りたいです(ページング画像を作成するため)。

私はこのコードを持っていますが、機能しません...変数「現在のページ」で常に1を返します。

私の ASP.NET コード

      <HeaderTemplate>
          <table style="width: 100%;">
             <tr>
                 <th style="width: 25%"></th>
                  <th style="width: 45%">
                     <asp:Label runat="server" ID="lblLegenda" Text="legenda" />
                   </th>
                   <th style="width: 10%;"></th>
              </tr>
       </HeaderTemplate>
       <ItemTemplate>
               <tr>
                   <td style="padding: 5px">
                        <asp:Image ID="img_gall" onclick="LoadDiv(this.src, this)" Style="cursor: pointer;" runat="server" Width="70px"  ImageUrl='imageurl' />
                   </td>
                   <td>
                       <asp:Label runat="server" ID="lblMultimediaDesciprion" Text='description' />
                   </td>
                    <td class="icons">
                        <asp:ImageButton ID="delete_image" ImageUrl="Images/icons/delete.png" runat="server" CommandName='<%# Eval("ID") %>'  OnClick="delete_image" />
                    </td>
              </tr>
      </ItemTemplate>
       <AlternatingItemTemplate>
               <tr class="colored">
                    <td style="padding: 5px">
                         <asp:Image ID="img_gall" onclick="LoadDiv(this.src, this)"  runat="server"   ImageUrl='imageurl' /></td>
                     <td>
                        <asp:Label runat="server" ID="lblMultimediaDesciprion" Text='description' />
                      </td>
                     <td class="icons">
                         <asp:ImageButton ID="delete_image" ImageUrl="Images/icons/delete.png" runat="server" CommandName='<%# Eval("ID") %>'  OnClick="delete_image"  />
                     </td>
                  </tr>
             </AlternatingItemTemplate>
</asp:DataList>

JavaScript コード

 var CurrentPage = 1;
        function GetImageIndex(obj) {
            while (obj.parentNode.tagName != "TD")
                obj = obj.parentNode;
            var td = obj.parentNode;
            var tr = td.parentNode;

            if (td.rowIndex % 2 == 0) {
                return td.cellIndex + tr.rowIndex;
            }
            else {
                return td.cellIndex + (tr.rowIndex * 2);
            }
        }
        function LoadDiv(url, lnk) {

            CurrentPage = GetImageIndex(lnk.parentNode) + 1;

}

誰でも私を助けることができますか?

4

2 に答える 2

0

「parentNode」を複製しました。変更します

GetImageIndex(lnk.parentNode) 

GetImageIndex(lnk) 
于 2013-09-29T03:07:44.477 に答える
0

//OnItemCommand="dlstnewproducts_ItemCommand" これをソースのデータリストで使用します。

//画像の場合は CommandName="Edit" を指定します

protected void Datalist_ItemCommand(object source, DataListCommandEventArgs e) { try { if (e.CommandName == "Edit") { string Key = Datalist.DataKeys[e.Item.ItemIndex].ToString(); //Response.Redirect("ViewProduct1.aspx?UserId="+Key); } else { Response.redirect(login.aspx); }

そして、キーでインデックスを取得します

于 2013-12-19T20:23:27.243 に答える