VS2003
public static void Show(Page page, string message)
{
message = message.Replace("'", "");
string key = "msg" + DateTime.Now.ToString();
if (!page.IsStartupScriptRegistered(key))
{
page.RegisterStartupScript(key, "<script>\n alert('" + message + "');\n</script>");
}
}
vs2005 public static void Show(Page page, string message)
            {
                message = message.Replace("'", "");
                string key = "msg" + DateTime.Now.ToString();
                if (!page.ClientScript.IsStartupScriptRegistered(key))
                {
                    page.ClientScript.RegisterStartupScript(GetType(), key, "<script>\n alert('" + message + "');\n</script>", true);
                }                //ClientScriptManager CSM = page.ClientScript;
                //string ScriptName = "clientScript";
                //if (!CSM.IsClientScriptBlockRegistered(ScriptName))
                //{
                //    string strScript = "<script>\n";
                //    strScript += "alert('" + message + "');\n";
                //    strScript += "}\n";
                //    strScript += "</script>\n";
                //    CSM.RegisterStartupScript(GetType(), ScriptName, strScript);
                //}
            }

解决方案 »

  1.   

    上面在vs2003中没有问题,下面的这段代码在vs2005中就会报错了RegisterStartupScript
    非静态的字段、方法或属性“object.GetType()”要求对象引用 E:\KeFuSoft\WebFrame\MessageBox.cs 42 47 WebFrame
    问题是在静态方法中这个object.GetType()怎么用,请各位帮帮忙!
      

  2.   

    page.ClientScript.RegisterClientScriptBlock(this.GetType(),key,"<script>\n alert('" + message + "');\n</script>");
      

  3.   

    或者说在静态的方法中this.GetType()中该怎么写
      

  4.   

    或者说在静态的方法中this.GetType()中该怎么写
      

  5.   

    不要在静态中写.把它改成动态的就好了。this不能在静态中使用.
      

  6.   

    page.ClientScript.RegisterStartupScript(page.GetType(), key, "<script>\n alert('" + message + "');\n</script>", true);
      

  7.   


    “this”是什么?this就是你当前写程序所在的页面(或者自定义控件)。而你正是使用一个page参数传入注册代码的环境的。
      

  8.   


    那个GetType()就是获取的page的即可.
      

  9.   

    page.ClientScript.RegisterStartupScript(page.GetType(), key, "<script>\n alert('" + message + "');\n</script>", true);