[英]Message Box in ASP.NET
如何在内容页面内显示消息框? 更新个人资料后..我要在内容页面中显示一个消息框。
请提出您的建议。。在此先感谢。
您可以使用Page.RegisterStartupScript
方法。
if (UpdateProfile())
Page.RegisterStartupScript("startup", "<script>alert('your profile has been updated..');</script>");
当然,假设UpdateProfile()完成工作并返回一个指示成功的布尔值:)
另外,(因为该方法已过时),可以改用ClientScriptManager.RegisterStartupScript
方法。
if (UpdateProfile())
Page.ClientScript.RegisterStartupScript(this.GetType(), "startup", "<script>alert('your profile has been updated..');</script>", false);
首先写这个方法
public void MsgBox(String ex, Page pg,Object obj)
{
string s = "<SCRIPT language='javascript'>alert('" + ex.Replace("\r\n", "\\n").Replace("'", "") + "'); </SCRIPT>";
Type cstype = obj.GetType();
ClientScriptManager cs = pg.ClientScript;
cs.RegisterClientScriptBlock(cstype, s, s.ToString());
}
之后,每当您需要消息框时,请遵循此行
MsgBox("Your Message!!!", this.Page, this);
Response.Write("[script] alert('message here');[/script]");
stackoverflow不允许实际标签将[替换为<和<替换为>
您看到的错误是由于您的内容页面以某种方式试图注入JavaScript以在Content控件之外创建警报框而引起的。
一种可行的方法是在母版页上注入javascript。
为此,请在母版页代码中公开如下所示的方法:
public void ShowAlertMessage(String message)
{
string alertScript = String.Format("<Script Language='javascript'> alert('{0}');</script>", message);
Page.ClientScript.RegisterStartupScript(this.GetType(), "Key", alertScript, false);
}
然后,可以从内容页面上在Master对象上调用此方法:
protected void UpdateProfile_Click(object sender, EventArgs e)
{
YourMasterPage master = (YourMasterPage) Master;
master.ShowMessage("Profile updated.");
}
此方法还具有为所有内容页面封装MessageBox逻辑的好处。
上面的一个警告是,我无法终生重现您所看到的错误,我尝试了我能想到并无法得到的主/内容标记的每种组合。 在其他答案中,此处提供的任何其他示例对我来说都很高兴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.