繁体   English   中英

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

[英]How to show a message box in an ASP.NET page?

当我是Windows程序员时,在表单上显示消息框非常容易。

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

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

您可以使用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>

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

幸运的是,ASP.NET Ajax控件(Ajaxcontroltoolkit)使此工作变得容易,因为您可以将面板作为带有所需按钮的消息框,并具有ModalPopupExtender来模仿对话框。

编辑:

对于您使用javascript提出的问题,您可以做到这一点(这是迄今为止迄今为止最简单的解决方案),但是准备仅将OK和Cancel作为两个可能的答案。 UI设计师的噩梦! :(

基本上,在aspx页面中该按钮或其他内容具有以下两个属性:

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

仅在味精对话框上按“确定”时,onClick才会运行。

window.alert(); window.confirm(); 和window.prompt(); 我猜这是您在寻找什么。

您可以使用

window.confirm 

为了这。

它显示一个带有消息和两个按钮的确定对话框,分别是OKCancel

window.confirm

例如:

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

编辑:

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

jQuery即兴

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

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

.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
    {

    }
}

如果您确实要使用“是” /“否”按钮(或任何不是您的标准“确定/取消”的按钮),则可以执行以下操作:

主页:

<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>

我有一个解决方案,可能对您有帮助,因为在Asp.Net中使用相同的消息框或C#的配置对话框,首先应添加名称空间,

使用System.Windows.Forms;

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

DialogResult dialogResult = MessageBox.Show(“您确定吗?”,“ Some Title”,MessageBoxButtons.YesNo);

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

我认为,我已正确解释,对于任何错误,我们深表歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM