非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用 (封装注册脚本)

时间:2023-07-18 14:42:19

在写项目时想对asp.net的注册前台脚本事件进行封装,就添加了一个BasePage.cs页面,但一直报错‘非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用”’

原写法:

 /// <summary>
/// 显示客户端提示框
/// </summary>
/// <param name="msg"></param>
public static void ShowMsg(string msg)
{
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript ", "<script type=\"text/javascript\">showInMsg('" + msg + "');</script> ");
}

解决方法:

改成

 /// <summary>
/// 显示客户端提示框
/// </summary>
/// <param name="msg"></param>
public static void ShowMsg(string msg)
{
Page page = (Page)System.Web.HttpContext.Current.Handler;
page.ClientScript.RegisterStartupScript(page.GetType(), "myscript ", "<script type=\"text/javascript\">showInMsg('" + msg + "');</script> ");
}

就可以 了