5

我想从后面的代码中实现 javascript 确认框。

我的要求是我需要提出一个确认框的方法,根据我需要实现差异功能的结果

例如;

如果确认框确定,则添加税

如果取消 则不加税

我正在尝试这样的事情,但它对我没有帮助

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "confirm('Add tax');", true);

任何人都可以帮忙。

我的示例代码是

protected void Button1_Click(object sender, EventArgs e)
{
    Double mrp = 200.00;

    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "return confirm('Add Tax');", true);
    if (Confirm == "Ok")
    {
        //Add tax to mrp
    }
    else
    {
        //No tax for mrp
    }
}

谢谢你..

4

3 回答 3

6

可以这样试试吗:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type = "text/javascript">
        function Confirm() {
            var confirm_value = document.createElement("INPUT");
            confirm_value.type = "hidden";
            confirm_value.name = "confirm_value";
            if (confirm("Do you want to save data?")) {
                confirm_value.value = "Yes";
            } else {
                confirm_value.value = "No";
            }
            document.forms[0].appendChild(confirm_value);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
      <asp:Button ID="btnConfirm" runat="server"
                  OnClientClick = "Confirm()"
                  OnClick="OnConfirm" 
                  Text="Raise Confirm"/>
    </form>
</body>
</html>

获取用户输入服务器端

现在服务器端我们需要获取我们存储在动态隐藏字段中的用户输入,然后根据他是否选择了确定或取消,我们需要执行不同的代码。

public void OnConfirm(object sender, EventArgs e)
{
    string confirmValue = Request.Form["confirm_value"];
    if (confirmValue == "Yes")
    {
        //Your logic for OK button
    }
    else
    {
        //Your logic for cancel button
    }
}

服务器端(代码隐藏)是 ASP.Net 中的无确认消息框

于 2013-03-28T06:59:00.570 回答
2

你可以ScrptManager 像这样使用:

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "return confirm('Your massage to be Displayed.');", true);  

您可以参考此链接了解更多详情。

或者你可以像这样尝试。

ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "if(confirm('Sorry, but there is already a Primary Stakeholder assigned to this ticket. Would you like to replace the existing data?')){alert('OK');}else{alert('cancel');}",true);

在 adove 代码中,如果用户按下OK按钮,它将显示带有消息OK的警报框,否则它将显示带有消息Cancel的警报框。

ScriptManager.RegisterClientScriptBlock(this, GetType(), "__Mensagem", "if (confirm('" + CustomMessage+ "')){$(\"#" + btnSave.ClientID + "\").click();}", true); 

你能试试这个。在这种情况下,如果确认返回 true,则返回按钮的单击事件。

于 2013-03-28T05:45:01.953 回答
0

请尝试以下操作:

Double mrp = 200.00;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("var x=''; var r=confirm('Press a button!');");
sb.Append("if (r==true){alert('ok'); x='" + mrp + "';}");
sb.Append("else{ alert('cancel');}");
sb.Append("document.getElementById('demo').innerHTML=x;");
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", sb.ToString(), true);

页面:

<p id="demo"></p>
于 2013-03-28T06:13:11.330 回答