繁体   English   中英

ASP.NET中的消息框

[英]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.

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