在ASP.NET应用程序中使用母版页时注册客户端脚本块时出错
Error registering client script block when using master page in an ASP.NET application
我从Mads Kristensen的博客中得到了这段代码,它使用Javascript在ASP.NET客户端的页面上显示一个消息框:
public static class Alert
{
public static void Show(string message)
{
// Cleans the message to allow single quotation marks
string cleanMessage = message.Replace("'", "'''");
string script = "<script type='"text/javascript'">alert('" + cleanMessage + "');</script>";
// Gets the executing web page
Page page = (Page)HttpContext.Current.CurrentHandler;
// Checks if the handler is a Page and that the script isn't allready on the Page
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
{
page.ClientScript.RegisterClientScriptBlock(typeof(Alert), "alert", script, false);
}
}
}
当没有涉及母版页时,它工作得很好。然而,当我从母版页派生的页面调用它(在服务器端)时,它不起作用。我猜它与RegisterClientScriptBlock()方法有关,但我不知道是什么。有人能告诉我解决这个问题的方法吗?
为了防止有人发现这一点,我找到了解决问题的方法。碰巧我的主页在UpdatePanel中有ContentPlaceHolder标记,所以当我替换时:
page.ClientScript.RegisterClientScriptBlock(typeof(Alert), "alert", script, false);
签字人:
ScriptManager.RegisterStartupScript(page, page.GetType(), "alert", script, false);
警报消息框开始显示在所有页面上。
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 在特定位置注册客户端脚本
- 注册客户端脚本不适用于设置数组值
- socket.io 服务器在注册客户端断开连接时非常延迟
- 将值分配给页面客户端脚本中的已注册隐藏字段
- 用于读取客户端注册表的网页
- 在ASP.NET应用程序中使用母版页时注册客户端脚本块时出错
- Twilio客户端JS-重新注册时出现套接字错误
- 检测是否在客户端机器上注册了uri协议
- 如何在网页底部注册客户端脚本资源,以提高加载时间
- 我如何取消注册用户代理与RingCentral Web电话客户端库
- 防止客户端脚本被重新注册的后退按钮或刷新
- 客户端脚本注册脚本一行
- 用JavaScript注册客户端事件