0

これを使った、

<a title="Logout" onclick="javascript:document.getElementById('ctl00_ContentPlaceHolder1_LbLogout').click();" href="#" class="logout">Logout</a></li>
<asp:LinkButton ID="LbLogout" runat="server" style="display:none"
   onclick="LbLogout_Click">Sign out</asp:LinkButton>

アンカー タグが linkbuttons onclick イベントを発生させないようです...

4

2 に答える 2

2

javascriptエラーがあるかどうかを確認します。また、ページソースを見て、IDがコントロールとJavaScriptコードの間で一致するかどうかを確認してください。ネーミングテンプレートの階層が異なる場合に備えて、直接コーディングするのではなく、コントロールからではなく、UniqueIDを使用するようにコントロール名を変更してみてください。

<a title="Logout" onclick="javascript:document.getElementById('<%= Lblogout.UniqueID %>').click();" href="#" class="logout">Logout</a></li>
于 2010-08-10T05:20:42.823 に答える
0

命名の問題に加えて:

  • return falseリンクonclickハンドラーから行う必要があります。そうしないと、#リンクがたどられ、他のリンククリックから発生する可能性のあるナビゲーションがキャンセルされます (およびページが一番上にスクロールされます)。

  • javascript:イベント ハンドラーの属性でプレフィックスを使用しないでください。彼らは何もしません。あなたはjavascript:疑似 URL を考えています。いずれにせよ、決して使用すべきではありません。

  • リンクのデフォルト アクション (ページをナビゲートする) を呼び出してアクティブにすることはできませんclick()。関連付けられた JS アクションclick()を実行するだけです。onclickページをナビゲートしたい場合は、手動で設定する必要がありますlocation.href= link.href

  • ログアウトなど、アクティブな効果のあるものにはリンクを使用しないでください。通常のフォームのようなボタンにする必要があります。リンクのように見えるように、いつでも CSS を使用してスタイルを設定できます。

于 2010-08-10T11:31:43.117 に答える