使用ASP.NET 3.5,您可以创建一个LinkButton,然后在其中定义内容。如果我有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格式化。
答案 0 :(得分:3)
你无法做你想做的事情,因为表格标签不会让a
标签可以点击,即使它们看起来像是这样。我认为这不是对a
标记的有效使用。
你可以解决这个问题,我在桌面上添加了一个客户端,然后使用javascript手动执行重定向。
另外,为什么使用LinkButton
与常规a
代码?我假设您想要链接回应用中的内容。如果是这样,您将需要在javascript中生成__DoPostBack调用以模仿LinkButton
行为。为此,请使用以下代码生成正确的javascript:
string javascriptToDoPostBack = Page.GetPostBackEventReference(yourLinkButton);
答案 1 :(得分:2)
该表是一个块元素,链接是一个内联元素,因此您不能将表放在链接中。
浏览器会尝试纠正结构,可能是通过将表移到链接之外,所以你得到的是一个没有链接的表,一个没有内容的链接。
如果要将元素放在链接中,它们必须是内联元素,例如跨度标签。然后,您可以使用CSS将链接及其中的元素转换为块元素,但结构必须在应用CSS之前和之后都有意义。
答案 2 :(得分: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>
答案 3 :(得分:0)
我很确定你不能用桌子来做这件事。