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

在写项目时想对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> ");
  }

就可以 了

原文地址:https://www.cnblogs.com/feigao/p/4818436.html