1

ユーザーがOKキャンセルポップアップウィンドウでOKボタンを押した後、ボタンクリックイベントを発生させるにはどうすればよいですか?? (return confrim のように)次のコードを使用して、ユーザーが [OK] を押した場合に btnCommitSaving クリック イベントを呼び出しましたが、動作しませんでした。コードに何か問題がありますか?

 ClientScriptManager csm = Page.ClientScript;
 csm.RegisterClientScriptBlock(this.GetType(), "__Mensagem", "if (confirm('" + "Proceed" + "')){  var button = document.getElementByID(btnCommitSaving);button.click();}", true);

助けてください :)

4

5 に答える 5

1

ちょうど今日これをやったところです。最も簡単な方法は__doPostBack、javascript から使用することです。

// Assume myButton is an <asp:Button> (or anything) previously defined
// that has an OnClick event registered in the code behind
var uniqueID = '<%= myButton.UniqueID %>';
var additionalData = '';
__doPostBack(uniqueID, arguments);

Request["__EVENTARGUMENT"]それらに興味がある場合は、引数が戻ってきます。トリッキーなことは、のUniqueID代わりに使用ClientIDすること__doPostBackです。多くのサイトで を使用するように指示されていますClientID。これはポストバックを行いますが、イベント ハンドラーにはルーティングしません。

編集

もう 1 つのオプションはOnClientClick、ボタンに true/false を返す JavaScript 関数を設定することです。

function someJSFunction()
{
   return confirm('Are you sure you want to do that?');
}

<asp:Button OnClientClick='return someJSFunction();' OnClick='CodeBehindMethod' />

このように、分離コード メソッドは、JS 関数が true を返す場合にのみ起動します。

于 2013-09-26T03:44:18.313 に答える
1

これを試して:

<asp:Button OnClientClick="return confirm('Are you sure you want to do that?');" OnClick="btnCommitSaving_Click" />

また

ClientScriptManager csm = Page.ClientScript;
csm.RegisterClientScriptBlock(this.GetType(), "__Mensagem", "if (confirm('Proceed?')){$('#" + btnCommitSaving.ClientID + "').click();}", true);
于 2013-09-26T05:18:01.750 に答える
0

これを試して:

csm.RegisterStartupScript(this.GetType(), "__Mensagem", "if (confirm('Proceed')){  var button = document.getElementByID('btnCommitSaving');button.click();}", true);
于 2013-09-26T03:35:50.127 に答える