关于成员与类的疑惑

artcodeman 2008-12-01 05:41:08
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 "]; 也出错
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZZJ_4Ever 2008-12-01
  • 打赏
  • 举报
回复
二楼是对的
frankie_24 2008-12-01
  • 打赏
  • 举报
回复
解释的非常清楚了...
blueterry 2008-12-01
  • 打赏
  • 举报
回复
page_load 本身是实例的方法,自然不能把类的变量放进去,范围不一样
每次一个新的实例被调用时,page_load都会被执行,这时,就会产生了矛盾,因为类的静态变量只能定义并初始化一次
当然想要对它多次赋值可以把赋值语句放到page_load中
jiang_jiajia10 2008-12-01
  • 打赏
  • 举报
回复
先声明为public String NewsId;
然后
page_load里面再赋值
NewsId = Request.Params[ "Id "];
criedshy 2008-12-01
  • 打赏
  • 举报
回复
public String newsid

在page_load之外定义

page_load内赋值

newsid = Request.Params[ "Id "];
gongsun 2008-12-01
  • 打赏
  • 举报
回复
呵呵,类与对象的概念。
MicroDeviser 2008-12-01
  • 打赏
  • 举报
回复
因为运行page_load的时已是一个实例了
所以,
String newsid = Request.Params[ "Id "]; 不出错. 这是定义局部变量,所以可以

在Page_Load()中声明为 protected static String newsid = Request.Params[ "Id "]; 也出错
这里定义的是静态变量,而静态变量是属于类不属于实例

CloneCenter 2008-12-01
  • 打赏
  • 举报
回复
在 Page_load 外声明,在 Page_load 代码中提取值写入。Web 上面没有办法使用 static 的。

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧