代码之家  ›  专栏  ›  技术社区  ›  CodeRedick

为什么LinkButton不能处理表的内容?

  •  1
  • CodeRedick  · 技术社区  · 14 年前

    <asp:LinkButton ID="lbTest" PostBackUrl="http://www.google.com" runat="server">
                <table>
                    <tr>
                        <td>Test</td>
                        <td>col2</td>
                        <td>col3</td>
                    </tr>
                </table>
            </asp:LinkButton>
    

    我想我可以用div构建一个“表”,但我讨厌用div格式化。

    4 回复  |  直到 14 年前
        1
  •  3
  •   Kelsey    14 年前

    你不能做你想做的事情,因为table标签不会让 a 标签可以点击,即使他们看起来像他们。我不认为这是一个有效的使用 标签。

    您可以绕过这个问题,将客户端onclick添加到表中,然后使用javascript手动执行重定向。

    还有,你为什么要用 LinkButton 链接按钮 行为。为此,请使用以下代码生成正确的javascript:

    string javascriptToDoPostBack = Page.GetPostBackEventReference(yourLinkButton); 
    
        2
  •  2
  •   Guffa    14 年前

    表是块元素,而链接是内联元素,因此不能将表放在链接中。

    浏览器将尝试更正结构,可能是将表移到链接之外,因此得到的是一个未链接的表和一个没有内容的链接。

    如果要将元素放入链接中,它们必须是内联元素,例如span标记。然后可以使用CSS将链接和其中的元素都转换为块元素,但是在应用CSS之前和之后,结构都必须有意义。

        3
  •  1
  •   Like    13 年前

    我想这是艾的问题。 在FF或GC上,它不会发生。

    此解决方案可能有助于:

    <script type="text/javascript">
      function SeachClick()  {
            <%=Page.GetPostBackEventReference(LinkButtonSearch)%>        
      }   
    

    <asp:LinkButton ID="LinkButtonSearch" runat="server" OnClick="LinkButtonSearch_Click"
                                CausesValidation="false">
    < table border="0" cellspacing="0" cellpadding="0" style="height: 22px;" onclick="SeachClick()" >
    <tr>
            <td class="but_left">
    </td>
    <td class="but_center">
      <asp:Literal runat="server" meta:resourceKey="SearchButtonText" />
    </td>
    <td class="but_mag">
    </td>
     <td class="but_right">
    </td>
    
    
    </tr>
    </table>
    

        4
  •  0
  •   Matt    14 年前