0

GridViewにボタンがあり、クリックするとトリガーされます

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)

イベント。そこにいくつかのロジックがあり、最後にポップアップを生成するjavascriptを登録しています。私が抱えている問題は、確認が表示されたときにポップアップすることです。背景に空白の画面が表示され、[キャンセル]をクリックすると再び表示されます。それ以外の場合は、別のページに移動します...ただし、ボックスが表示されている間、背景は白です。

ウェブサイトがバックグラウンドで表示されている「アラート」ポップアップのように表示されるようにする必要があります。これらのポップアップはWebサイト全体で使用されているため(「確認しない」)、これらのポップアップでのみこの作業を行うことができることに注意してください。これは私が追加しなければならなかった最初の確認ボックスですが、他のページには多くのアラートがあります。大変な作業になりますので、変更したくありません(150ページ以上のWebサイト)。

ありがとうございました

4

1 に答える 1

1

警告ボックスが表示される前に、ページがレンダリングされる機会がないようです。JavaScriptアラートを表示するコードをbody.onloadイベントなどに接続します。これにより、ページが初期ロードを完了するのを待ってからアラートが表示されます。

            Page.ClientScript.RegisterClientScriptBlock(
                this.GetType(), 
                "key",
                @"
function Redirect() {
  location.href = 'shoppingCart.aspx';
}

function showAlert() {
  if (confirm('***Message truncated***.') == true){
    Redirect();
  };
}

// If you're using JQuery, you could do something like this, otherwise you
// would need to add the function call to the HTML body tag's onload attribute.
// There are other alternatives, see:
// http://stackoverflow.com/questions/1235985/attach-a-body-onload-event-with-js
$(document).ready(function() {
  showAlert();
});

", true);
于 2012-04-24T03:10:45.490 に答える