Web应用程序中的确认消息框

4
我正在使用以下信息框在asp.net Web应用程序中。现在我想将此消息框转换为确认消息框,并在它为true时执行某些操作,否则拒绝该应用程序。
   ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Are you sure, you want to apply?');</script>", false);

2
你确认想要执行客户端函数还是服务器端调用? - yogi
8个回答

7
我认为你的做法不对。应该在提交之前显示这个确认信息,只有当他们选择“应用”时才进行提交。
使用ASP.NET Web控件,Button控件有一个OnClientClick属性,可以在Http POST之前调用JavaScript:
你可以这样做:
<asp:button id="btn"
            runat="server"
            Text="Apply"
            OnClientClick="return confirm('Are you sure you wish to apply?');"
            OnClick="btn_Click" />

这对我有用。那么我如何在确认消息中使用换行符,例如“return confirm('Are you sure <br/> you wish to apply?');”? - Milton Fernando
我相信你应该使用\n而不是<br /> - Curtis
我使用这样的方式 'Are you +'\n'+ you wish to apply?' 它不起作用。 - Milton Fernando
只需使用Are you \n you wish to apply?。不需要字符串换行。 - Curtis

3
请使用下面的注册脚本,而不是弹出警告框。
<script type="text/javascript">
var r=confirm("Are you sure you are sure?")
if (r==true)
{
  //You pressed OK!
}
else
{
  //You pressed Cancel!
}
</script>

0

JavaScript中等价于确认框的方法是confirm()。该方法根据用户点击"确定"或"取消"按钮的响应返回true或false值。

用法:

var confirmed = confirm('Are you sure?','Are you sure you want to delete this item?');

if(confirmed){
  //do something
} else {
  //do something else
}

0

试一下这个

将以下代码添加到您的 cs 文件中,以显示确认而不是警告

string confirm = 
"if(confirm('Are you surely want to do this ??')) __doPostBack('', 'confirmed');";
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", confirm, true);

在同一页面上添加此代码以检查用户是否来自确认框

protected void Page_Load(object sender, EventArgs e)
{
    string parameter = Request["__EVENTARGUMENT"];
    if (string.Equals("confirmed", 
                        parameter, 
                        StringComparison.InvariantCultureIgnoreCase))
    {
        // Call your server side method here
    }
}

为此,我使用了__doPostBack,您可以从这里了解更多信息。 希望能对您有所帮助。


0

尝试在用户单击按钮时,在OnClientClick事件上检查此代码

<script type="text/javascript">
      function check()
     {          
        var chk =confirm("Are you sure you are sure?")
        if (chk==true)
        {
            // try you want
        }
        else
        {
            // try you do not want
        }
       return true;
     }

</script>        

 <asp:button id="Button1"
        runat="server"
        Text="Button1"
        OnClientClick="return check();"/>

0

如果要完全在C#中进行此操作,可以尝试以下方法:

    protected override void OnInit(EventArgs e)
    {  
        AddConfirmationButton();   
        base.OnInit(e);
    }

    private void AddConfirmationButton()
    {   
        Button confirmButton = new Button();
        confirmButton.Text = "Action Foo";
        string confirmationMessage = "Are you sure you wish to do action Foo?";
        confirmButton.OnClientClick = "return confirm('" + confirmationMessage + "');";
        confirmButton.Command += confirmButton_Command;

        Controls.Add(confirmButton);

    }

    void confirmationMessage_Command(object sender, CommandEventArgs e)
    {
        DoActionFoo();   //work your magic here.
    }

这将在网页上向用户呈现一个“确定/取消”对话框。如果用户点击“确定”,则命令事件中的函数将触发。如果用户点击“取消”,则不会发生任何事情。


0
private void showMessage(string msg){

        ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('"+ msg +"');</script>", false);

保护 void BtnReg_Click(object sender, EventArgs e) {

        OracleHelper.OracleDBOpen();
        object flag = OracleHelper.OracleExecuteScalar("your select Query ");
        if (flag == null)
        {
                      showMessage("Failed !!! ");

        }
        else
        {
            string reg = String.Format("your Insert Query ");

            showMessage("successfuly");
            OracleHelper.OracleExecuteNonQuery(reg);

        }                
        OracleHelper.OracleDBClose();
    }
}

0
ScriptManager.RegisterStartupScript(page,this.GetType(), "temp","javascript:calopen();
",true);

function calopen()    
{    
    if (confirm("Are you sure?"+'\n'+"Are you want to delete"))    
    {   
        enter code here    
    }
    else   
    {   
        return false;
    }    
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接