1

ASP.NET 3.5 を使用すると、LinkBut​​ton を作成し、その中にコンテンツを定義できます。div タグやあらゆる種類のテキストなどがある場合は問題なく動作しますが、テーブルを使用すると、何らかの理由でクリックが実際にポストバックされません。これにより、Googleに移動するはずです(そこでエラーが発生しますが、それでも移動するはずです)。たとえば:

<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 を使用して手動でリダイレクトを行います。

また、なぜLinkButton通常のaタグではなく 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 に答える