1

使用 ASP.NET 3.5,您可以创建一个 LinkBut​​ton,然后在其中定义内容。如果我有 div 标签或任何类型的文本或任何东西,它工作正常,但如果我使用表格,则由于某种原因,点击实际上不会发回。这应该带你去谷歌(你会在那里得到一个错误,但它仍然应该去)例如:

<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

4 回答 4

3

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

您可以通过将客户端 onclick 添加到表中来解决此问题,然后使用 javascript 手动执行重定向。

另外,您为什么使用 aLinkButton与常规a标签?我假设您想链接回应用程序中的某些内容。如果是这样,您还需要在 javascript 中生成 __DoPostBack 调用以模仿该LinkButton行为。为此,请使用以下代码生成正确的 javascript:

string javascriptToDoPostBack = Page.GetPostBackEventReference(yourLinkButton); 
于 2010-07-16T17:38:09.200 回答
2

表格是块元素,链接是内联元素,所以不能将表格放在链接中。

浏览器会尝试更正结构,可能是通过将表格移到链接之外,所以你得到的是一个没有链接的表格和一个没有内容的链接。

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

于 2010-07-16T17:40:54.217 回答
1

我认为这是IE的问题。在 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>

于 2010-12-28T04:38:45.613 回答
0

我很确定你不能用桌子做到这一点。

于 2010-07-16T17:32:12.053 回答