[英]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
为了这。
它显示一个带有消息和两个按钮的确定对话框,分别是OK和Cancel 。
例如:
if (window.confirm("Want to see my mood ring?"))
{
// wants to continue
}
else
{
// cancel the action
}
编辑:
您还可以使用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')">
<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.