Javascript确认框块背景

时间:2012-04-24 03:02:44

标签: c# javascript asp.net

我在GridView中有一个按钮,当它被点击时会触发

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)

事件。在那里我有一些逻辑,最后我注册了一些生成弹出窗口的JavaScript。我遇到的问题是,当它出现时确认弹出窗口。它在背景上显示一个空白屏幕,当我点击取消它再次显示它时,否则它会导航到另一个页面......但是当盒子打开时,背景是白色的。

我需要这样做,以便它显示像“警报”弹出窗口仍然在后台显示网站。请注意我只能使用这些弹出窗口,因为它们在整个网站中使用(“不确认”)。这是我必须添加的第一个确认框,但其他页面上有许多警报。所以不想改变它们,因为这将是太多的工作(150多页网站)。

谢谢

1 个答案:

答案 0 :(得分: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);