1
string LocalWorkSiteName = WorkSite.Site_Name;

System.Windows.Forms.MessageBox.Show("Are you sure you want to delete invoice " for " + LocalWorkSiteName);

1) ポップアップが常にブラウザーの背後に表示されるのはなぜですか? ブラウザの前にロードしたい。

2) 「はい」と「いいえ」のボタンを追加して、現在の「OK」を削除するにはどうすればよいですか? したがって、コード ビハインドでは、「はい」の場合は 1 つのことを行い、「いいえ」の場合は別のことを行います。

if(yesIsPressed)
{
...
}
if(noIsPressed)
{
...
}

私はこれを正しい方法で行っていますか、それともより適切な方法がありますか?


編集 返信ありがとうございます... JS側に行きますが、私はそれについていくつかの支援が必要になるかもしれません. だから私のボタン:

<asp:Button runat="server" ID="RemoveInvoice" Text="Remove Invoice" OnClick="RemoveInvoice_Click" CssClass="FadeOutOnEdit" />

コードビハインド関数「RemoveInvoice_CLick」を実行します...JSを実行するためにそれを取得できますか、それとも入力ボタンに変更して、そこからコードビハインドの更新を行う必要がありますか?

4

2 に答える 2

2

多分このようなもの:

DialogResult result1 = System.Windows.Forms.MessageBox.Show("Are you sure you want to delete invoice for " + LocalWorkSiteName,
        "Important Question",
        MessageBoxButtons.YesNo);

if(result1 == DialogResult.Yes) { ... }
if(resutl1 == DialogResult.No) { ... }

ノート*

ただし、 MessageBoxでそれを行うべきではありません:)。これはデスクトップ アプリ ( System.Windows.Forms ) 用であるため、jQuery または JavaScript コードを使用する必要があります。クライアント側では表示されず、サーバー上でのみポップアップ表示されます。

jQueryUI ダイアログで試すことができます

于 2013-03-27T14:40:04.557 に答える
1

Web ページに Windows フォーム メッセージ ボックスを読み込んでいます。これは Web アプリではなく、デスクトップ アプリのコントロールです。Web コントロールである JavaScript ポップアップを使用した方がよいでしょう。jQuery を使用すると、ボタンのクリック イベントにコールバックをアタッチできます。

$("#buttonid").click(function() {
  var answer = confirm("Are you sure you want to delete invoice for " + LocalWorkSiteName + "?");
  if (answer)
  {
       // post to server-side
  }
});

または、ASP.net ボタン コントロールに固執する場合は、そのタグでイベント ハンドラーを接続できます。

<asp:Button id="RemoveInvoice" runat="server" Text="Remove Invoice" 
        OnClick ="RemoveInvoice_Click" 
        OnClientClick="return confirm('Are you sure you want to delete invoice?');" 
        CssClass="FadeOutOnEdit" />

このOnClientClick属性は、コードが false を返した場合にサーバー側イベントが発生しないようにします。これは、ユーザーが への呼び出しから JavaScript ポップアップで [キャンセル] をクリックした場合に発生しますconfirm

于 2013-03-27T14:45:14.583 に答える