我正在寻找类似于http://www.how-to-asp.net/messagebox-control-aspnet/的自定义用户控件,但能够显示为弹出窗口。消息框应该具有从asp.net 4中的代码调用的功能,使用事件挂钩来绑定" ok"和"取消"按钮。
我熟悉Ajax Toolkit和JQuery。
类似方向的参考和/或样本将非常有用。
谢谢!
答案 0 :(得分:5)
使用jQuery UI。他们有很好的例子。我一直在使用对话框。
您可以查看其来源,以下是一个示例。
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Dialog - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#dialog" ).dialog();
});
</script>
</head>
<body>
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
</body>
您可以随意自定义此项。该链接将告诉您如何执行此操作。
编辑:因为你想在后面的代码中打开它,我将向你展示我的jQuery以及我如何在后面的代码中调用它。我用它来发送电子邮件。function sendEmail() {
$("#email").dialog({
modal: true,
width: 700,
buttons: {
"Send": function () {
var btn = document.getElementById("<%=lbSend.ClientID %>");
if (btn) btn.click();
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
);
jQuery("#email").parent().appendTo(jQuery("form:first"));
};
然后在后面的代码中。
protected void btnEmail_Click(object sender, EventArgs e)
{
//this calls the jQuery function.
Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "sendEmail();", true);
}
答案 1 :(得分:0)
根据我的经验,如果你想在客户端从服务器端代码打开一些东西,它通常是一个糟糕设计的标志。你确定你需要什么吗?
但假设您这样做,您可以使用Ajax Control Tookit中的ModalPopupExtender。它可以从客户端或服务器端打开。这是一个样本:
<ajaxToolkit:ModalPopupExtender ID="MPE" runat="server"
TargetControlID="LinkButton1" ClientIdMode="Static"
PopupControlID="Panel1" />
PopupControlID应该是您想要显示为弹出窗口的面板的ID。如果需要,您可以在该面板上放置按钮。从背后的代码来看,它就像这一样简单......
MPE.Show();
要从JavaScript显示它(假设是jQuery),请确保将ClientIdMode设置为Static,然后调用它...
$('#MPE').show();
答案 2 :(得分:0)
public void Message(String msg)
{
string script = "window.onload = function(){ alert('";
script += msg;
script += "');";
script += "window.location = '";
script += "'; }";
ClientScript.RegisterStartupScript(this.GetType(), "Redirect", script, true);
}