1

<asp:ImageButtonクリックするとイベントを呼び出す.ascx ページがあります。

<asp:LinkButtonこれを a に変更して、同じイベントを呼び出したいと思います。

私は .ascx ファイルにしかアクセスできず、分離コードにはアクセスできません。

「 」でスタイル設定したページに ImageButton を残し、LinkBut​​tondisplay:none;コントロールを追加して ImageButton のイベントを呼び出すことを検討しましたが、これを機能させるための正しい JavaScript 構文を取得できません。

提案を歓迎します。

ここであなたのアドバイスを使用して、少し進歩しました。

次のコードを使用して、イベントを正常に発生させることができます。

jQuery("#jlink").click(関数(イベント){ jQuery('#dnn_ctr594_ViewAjaxModuleWrapper_ctr604_ProductPage_btnAddItem').click(); });

(質問を簡潔にするために DotNetNuke を使用しているとは言いませんでした。そのため、なぜ $() を jQuery() に置き換えるのですか)。

ただし、これはコントロールのレンダリング後の ID を参照して機能しますが、 <%=btnAddItem%> が機能するように見えます。jQuery("select[id$='btnAddItem']") を使用してセレクターを取得できると思いますが (証明できません)、これを dnn_ctr594_ViewAjaxModuleWrapper_ctr604_ProductPage_btnAddItem に置き換えても機能しません。

では、コントロール オブジェクトを動的に参照するにはどうすればよいでしょうか。

最終的な考え、ありがとう?


Bouncycastle を使用した PSK による TLS 接続

事前共有キーを使用して、リモート サーバーへの TLS 接続を確立する必要があります。現在、Bouncycastle の PSKTlsClient を使用しています。私の初期化コードは次のようになります。

 socket_ = new Socket(address,port);            
 tlsHandler_ = new TlsProtocolHandler(socket_.getInputStream(),socket_.getOutputStream());           
 pskTlsClient_ = new PSKTlsClient(tlsPskInfo_);            
 tlsHandler_.connect(pskTlsClient_);

ただし、このスタックトレースを取得しています:

java.io.IOException: Internal TLS error, this could be an attack
at org.bouncycastle.crypto.tls.TlsProtocolHandler.failWithError(Unknown Source)
at org.bouncycastle.crypto.tls.TlsProtocolHandler.safeReadData(Unknown Source)
at org.bouncycastle.crypto.tls.TlsProtocolHandler.connect(Unknown Source)
at common.network.Transport.PskTlsClientSocket.connect(PskTlsClientSocket.java:61)

PSK が送信されるメッセージで TLS 証明書も取得しましたが、この接続を確立する方法に行き詰まっています。続行する方法について何か提案はありますか?

4

2 に答える 2

1

JQueryを使用して、画像ボタンが押されたときのリンクのクリックをシミュレートするのはどうですか?

$('#linkButtonID').click(function(){
    $('#imageButtonID').click();
});

それはうまくいくかもしれません

編集

別のポイントとして-背後のコードにアクセスできない場合は、マークアップにasp.netWebコントロールを配置する意味はほとんどありません。とにかくサーバー側のイベントやプロパティにアクセスすることはできません。これがポイントです。通常のアンカータグを付けるだけです。JavaScriptやJQueryでの作業がはるかに簡単になります。

<a href="#" id="linkID">Click this</a>

次に、JQueryは次のようになります

$('#linkButtonID').click(function(){
    $('#<%=imageButtonID.ClientID%>').click();
});

最初のコードはあなたにアイデアを与えるためだけのものでしたが、バニラリンク用に書くのとは対照的に、すでにそこにあるasp.net WebコントロールのクライアントIDを書き出すというアイデアを含めました(前の回答のように)

また、このためのJQueryライブラリを含めることを忘れないでください

于 2012-06-22T10:22:03.543 に答える
0

解決しました!

プログラムで完全なオブジェクト参照を取得しようとするのではなく、ImageButton の ID でセレクターをワイルドカード化しただけです。

次のように使用されるコード:

<a href="#" id="jlink" class="txtbutton">Click Here</a>
<asp:ImageButton ID="btnAddItem" runat="server" ImageUrl="jbtn.gif" style="display:none;"></asp:ImageButton>

<script type="text/javascript">

jQuery("#jlink").click(function(event){
jQuery("[id$=btnAddItem]").click();
});

</script>

あなたの助けがなければ、それはできなかったでしょう。ありがとう!

于 2012-06-25T12:27:46.317 に答える