如何在ASP.NET页面中显示消息框?

时间:2009-09-08 04:35:32

标签: asp.net

由于我是Windows程序员,因此在表单上显示消息框非常容易。

但在ASP.NET页面上,我不知道如何展示它?

实际上我有一些条件并且基于此我想向用户显示一个消息框以获得他/她的响应并基于该响应我想继续。 例如,我想问用户“你想继续吗?”两个按钮“是”& “否”。

8 个答案:

答案 0 :(得分:3)

您可以使用JavaScript执行此操作。在您的代码中包含此代码段 -

<script type='text/javascript'>
    document.getElementById("someButtonId").onclick = function() {
        var confirmation = window.confirm("Are you sure?"); //confirmation variable will contain true/false.

        if(confirmation) { /* Write code for Yes */ }
        else { /* Write code for No */ }
    }
</script>

答案 1 :(得分:2)

显示“是否”对话框的唯一方法是设计自定义对话框(Javascript确认只能生成“确定”和“取消”)。

幸运的是,ASP.NET Ajax控件(Ajaxcontroltoolkit)使这项工作变得简单,因为您可以使用所需按钮将面板作为消息框,并使用ModalPopupExtender模拟对话框。

修改

对于你用javascript问的问题,你可以做到(这是一个比目前为止看到的更简单的解决方案),但准备只有OK和Cancel作为两个可能的答案。 UI设计师梦魇! :(

基本上,在您的aspx页面中为该按钮或其他任何内容提供以下两个属性:

onClientClick = "javascript:confirm('you sure you wanna do this?');" onClick="myButton_Click"

onClick只有在msg对话框上按下OK时才会运行。

答案 2 :(得分:1)

window.alert(); window.confirm();和window.prompt(); 这就是我猜你要找的东西。

答案 3 :(得分:0)

您可以使用

window.confirm 

为此。

它会显示一个带有消息的模态对话框和两个按钮,确定取消

window.confirm

例如:

if (window.confirm("Want to see my mood ring?")) 
{ 
    // wants to continue
}
else
{
   // cancel the action
}

<强> 编辑:

您还可以使用jQuery开发自定义消息框。这是一个很好的

jQuery Impromptu

答案 4 :(得分:0)

您可以使用确认JavaScript功能,但这将仅限于确定/取消作为选项。如果这不是您想要的,您可以依靠VBScript MsgBox客户端功能。请记住,这样做只适用于Internet Explorer。

function PerformDelete(id)
{
  if(confirm("I am about to delete this record.  Is this ok?"))
  {
    //your code here
  }
}

答案 5 :(得分:0)

.aspx标记

<head runat="server">
    <title>Sample Page</title>
    <script type="text/javascript">
      function doSubmit(){
            var confirmation = window.confirm("Are you sure?");
            document.getElementById("HiddenField1")["value"]=confirmation;
            return true;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server" onsubmit="return doSubmit()" >
    <div>
        <asp:HiddenField ID="HiddenField1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>
    </form>
</body>

代码隐藏

protected void Page_Load(object sender, EventArgs e)
{
    if (HiddenField1.Value == "true")
    {

    }
    else
    {

    }
}

答案 6 :(得分:0)

如果您真的想要“是”/“否”按钮(或任何不符合标准的按钮/取消),您可以执行以下操作:

主页:

<html>
<body>
<script>


function ShowYesNo() {    
    var answer = window.showModalDialog("myModalDialog.htm", '', "dialogWidth:300px; dialogHeight:200px; center:yes");


       document.write('Clicked yes');
    } else {
       document.write('Clicked no');
    }
}

ShowYesNo();

</script>


</body>
</html>

MyModalDialog.htm

<html>
<body>

<p> Do you want to proceed?" </p>
<input type = "button" id = "buttonYes" value = "Yes" onclick = "buttonOnClick('yes')">&nbsp;
<input type = "button" id = "buttonNo" value = "No" onclick = "buttonOnClick('no')">

<script type = "text/javascript">
function buttonOnClick(message) {
    window.returnValue = message;
    window.close();
}
</script> 

</body>
</html>

答案 7 :(得分:-1)

我有一个解决方案,可能对你有帮助,因为在Asp.Net中使用c#的相同消息框或构造对话框,首先应该添加命名空间,

  

使用System.Windows.Forms;

然后,您想要调用消息框或构造对话框,您可以像在c#中一样简单地调用它,例如:

  

DialogResult dialogResult = MessageBox.Show(“你有什么感觉?”,“有些标题”,    MessageBoxButtons.YesNo);

    if (dialogResult == DialogResult.Yes)
    {
        Response.Redirect("Page.aspx");
    }
    else if (dialogResult == DialogResult.No)
    {
        MessageBox.Show("You Select Nothing to do... :(");
  }

我想,我解释得很对,抱歉有任何错误......