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

//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 回答
0

你复制了“parentNode”,改变

GetImageIndex(lnk.parentNode) 

GetImageIndex(lnk) 
于 2013-09-29T03:07:44.477 回答