public  partial  class  news  :  System.Web.UI.Page 

public  String  newsid  =  Request.Params[ "Id "]; 
}非静态的字段、方法或属性“System.Web.UI.Page.Request.get”要求对象引用在Page_Load()中声明String  newsid = Request.Params[ "Id "]; 不出错.在Page_Load()中声明为 protected static String  newsid = Request.Params[ "Id "]; 也出错

解决方案 »

  1.   

    在 Page_load 外声明,在 Page_load 代码中提取值写入。Web 上面没有办法使用 static 的。
      

  2.   

    因为运行page_load的时已是一个实例了
    所以,
    String  newsid = Request.Params[ "Id "]; 不出错.   这是定义局部变量,所以可以在Page_Load()中声明为 protected static String  newsid = Request.Params[ "Id "]; 也出错 
    这里定义的是静态变量,而静态变量是属于类不属于实例
      

  3.   

    public  String  newsid在page_load之外定义page_load内赋值newsid = Request.Params[ "Id "]; 
      

  4.   

    先声明为public String NewsId;
    然后
    page_load里面再赋值
    NewsId = Request.Params[ "Id "]; 
      

  5.   

    page_load 本身是实例的方法,自然不能把类的变量放进去,范围不一样
    每次一个新的实例被调用时,page_load都会被执行,这时,就会产生了矛盾,因为类的静态变量只能定义并初始化一次
    当然想要对它多次赋值可以把赋值语句放到page_load中