动态链接按钮OnClick事件未触发

本文关键字:事件 OnClick 链接 按钮 动态 | 更新日期: 2023-09-27 17:49:58

我正在asp:Lisview ItemTemplate中创建几个动态asp: panel。在panel中有一个HTML表格,它被链接包围,所以整个div/box是可点击的。问题是linkbutton的OnClick事件没有在服务器端触发。任何想法吗?

代码如下:

              <asp:Panel runat="server" ClientIDMode="Static"> 
                <asp:LinkButton runat="server"  ID="Link" OnClick="Link_Click" CausesValidation="false">      
                    <table runat="server" id="Table" >            
                        <thead>
                            <tr><th colspan="3"><%#Eval("abc")%></th></tr>
                        </thead>
                        <tbody>
                             <tr>
                                <td >
                                    <asp:ImageButton runat="server"  ImageUrl="../Images/img_4.png"/>
                                </td>
                                <td runat="server" class="data" >
                                    <%#Eval("abc")%>
                                </td>
                                 <td>   
                                     04:15                                                                     
                                </td>
                            </tr>
                           </tbody> 
                    </table> 
                      </asp:LinkButton>
                  </asp:Panel> 

LinkClick代码

  protected void Link_Click(object sender, EventArgs e)
    {
        LinkButton link = (LinkButton)sender;
        String id = link.ID;
        if (id.StartsWith("T"))
            Response.Redirect("Time.aspx?Id=" + id);
        else
        {                
            Response.Redirect("Chart.aspx?Id=" + id);
        }
    }

动态链接按钮OnClick事件未触发

我明白了。asp:linkbutton id在后端代码中被重置,导致链接断开。这就是为什么滴答声不起作用。