0

したがって、各列ヘッダーの上部にリンクボタンがあるテーブルがあります。リンクボタンは、commandname="sort"を使用してテーブルを並べ替えます。これらのボタンの1つをクリックすると、ページは希望の結果でポストバックします。ただし、jqueryカラーボックスを開くページ内のリンクをクリックすると、JavaScriptをアクティブ化する代わりに、空白のページにリダイレクトされます。

 $(document).ready(function () {
    $('.ManageImages').colorbox({ inline: true, innerwidth: 504, innerheight: 530, href: "#create-image-manager-dialog", escKey: false, overlayClose: false, onCleanup: function(){
        postbackWithModal();
    }});        
});
...
...
...
<th><asp:LinkButton runat="server" CommandName="Sort" CommandArgument="ItemNumber" CssClass="table-link-sorter">SKU</asp:LinkButton></th>
...
...
...
<asp:LinkButton CssClass="ManageImages" ID="ManageImages" runat="server" OnClientClick="SetImageSKU(this);" Text="Image Management" PostBackUrl="#" />

postbackurlが#のリンクボタンをクリックすると、提供されたjavascriptにあるjqueryを呼び出す代わりに、空白のページにリダイレクトされます。誰かがこれの回避策を知っていますか?

4

2 に答える 2

1

以下のコードを試してください。JavaScriptのみを実行したい場合。

<asp:LinkButton Text="Image Management" runat="server" PostBackUrl="javascript:void(0)" OnClientClick="SetImageSKU(this);" CssClass="ManageImages" ID="ManageImages" CausesValidation="false"/>

それはそれを行う必要があります。JavaScript とコード ビハインドを実行する場合は、OnClientClick="return SetImageSKU(this);"に変更します。SetImageSKU から true または false を送信するため、true が返されたときにリンク ボタンでポストバックが発生します。

それが役に立てば幸い。

于 2012-04-26T15:29:14.587 に答える
0

推測ですが...次のように変更します: OnClientClick="SetImageSKU(this); return false;" また、ポストバック URL が必要かどうかも疑問です。

asp がコードを記述しないようにする HTML アンカーを使用してこれを行う方がはるかに優れています。

于 2012-04-26T15:00:13.143 に答える