我想问一个直截了当的问题,当我在页面中添加一些数据并点击提交按钮后,如何弹出一个窗口来显示信息已成功添加到数据库,而不是打开新页面? 我有什么办法可以做到这一点吗? 有没有相关网站可以参考?谢谢
您只需放置以下代码:
Response.Write("<script>alert('information has been successfully added')
</script>");
public void Show(string msg)
{
Page page = HttpContext.Current.Handler as Page;
if (page != null)
{
ScriptManager.RegisterStartupScript(page, page.GetType(), "msg", "alert('" + msg + "');", true);
}
}
并在提交按钮中调用如下。
protected void btnSubmit_Click(object sender, EventArgs e)
{
// Your Code for submit
Show("Save Success");
}
如果您使用ASP.NET并使用常规提交行为提交表单,则仍将经历完整的页面生命周期。这意味着页面首先需要重新加载,然后才能触发您的警报。如果您希望页面不重新加载,而是只显示结果警报,则需要使用AJAX执行操作,将表单POST到更新您拥有的数据库的服务方法。这将不会重新加载您的页面,并且只会显示一个警报,指示您的ajax调用已完成。jQuery $.post()
lblMessage.Text = "Data updated successfully";
lblMessage.Visible = true;
如果想让它更加突出,你可以使用 jQuery dialogs,并用 CSS 适当地设置样式。
//Global Declaration
public static void Message(String message, Control cntrl)
{
ScriptManager.RegisterStartupScript(cntrl, cntrl.GetType(), "alert", "alert('" + message + "');", true);
}
//Call any where, where you want to display message
Message("Any message here", this);
ScriptManager.RegisterStartupScript(this, this.GetType(), "Notification", "alert('Done');", true);
ClientScriptManager script = Page.ClientScript
if (!script.IsStartupScriptRegistered(GetType(), "Show Popup"))
{
script.RegisterStartupScript(GetType(), "Show Popup", "ShowPopup();", true);
}
你可以使用ClientScriptManager.RegisterStartupScript Method从code behind
调用javascript
函数。
这是你的弹出窗口。
HTML:
<div id="Popup"></div>
CSS:
#Popup
{
height:200px;
width:300px;
position:fixed;
z-index:102;
left:50%;
top:50%;
margin-top:-130px;
margin-left:-180px;
font-weight:bold;
font-size:10pt;
padding:20px;
background-color:#fff;
border:10px solid #9cc3f7;
border-radius:20px;
-webkit-border-radius:20px;
-moz-border-radius:20px;
text-align:center;
display:none;
}
Jquery函数:
function ShowPopup()
{
$('#Popup').show("slow");
}