我有一个网页表单(.aspx),我想用页面请求对象中的值初始化一些字段。
public partial class Freegitfs : System.Web.UI.Page
{
String _purchasebleUnitKey = Request["pu"] ?? String.Empty;
...
我收到编译器警告'无法在静态上下文中访问非静态'请求' 为什么?我的网络表格不是静态的。
但是,如果我向HttpContext.Current.Request求助,警告就消失了。 为什么这么做?
答案 0 :(得分:1)
Request是Page类的成员属性,您在尝试使用该类的实例之前尝试访问它。 HttpContext.Current是静态属性,可以在没有实例的情况下访问静态属性(在你的情况下是Freegitfs类,它继承自Page)。
同样区分请求类型也是一个好习惯,所以我建议Request.QueryString [“pu”]或Request.Form [“pu”]而不是Request [“pu”]