如何知道DataList的行索引(表)

时间:2013-09-28 23:44:02

标签: javascript asp.net datalist

我有一个不同的图像和描述的Datalist ...我希望点击图像并通过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 CODE

 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;

}

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您复制了“parentNode”,更改了

GetImageIndex(lnk.parentNode) 

GetImageIndex(lnk) 

答案 1 :(得分:0)

// OnItemCommand =“dlstnewproducts_ItemCommand”在源数据库中使用它。

//对于图像,给出CommandName =“编辑”

protected void Datalist_ItemCommand(object source,DataListCommandEventArgs e)         {             尝试             {                 if(e.CommandName ==“编辑”)                 {                     string Key = Datalist.DataKeys [e.Item.ItemIndex] .ToString();                     //Response.Redirect("ViewProduct1.aspx?UserId="+Key);                 }                其他                 {                   的Response.Redirect(login.aspx的);                 }

在密钥中,您将获得索引