我在 aspx.cs 页面中有一个静态的 webmethod,我想在该方法中使用 Request.Form[] 但不支持并说:
非静态字段需要对象引用。我如何在该网络方法中使用 Request.Form[] (任何替代使用方式)
问候吉特尼姆
如果您回帖,Request.Form
则有意义。
据我了解,您只需在后面的代码中调用静态函数。那时该页面不存在,您也不要完整回帖以填写表格
任何替代使用方式
正确的方法是将您的数据作为参数发送给函数。
您不能在静态上下文中使用非静态属性。如果您的方法是静态的,则意味着它不应该依赖于被调用的实例(在这里您使用Request
的是this
- 您的页面的属性)。
如果您的方法根据POST
数据中的某些内容进行一些计算,那么您应该将其添加为方法的参数,然后使用Request.Form["something"]
值调用该方法:
public static int MyStaticMethod(string someParameter)
{
//logic involving someParameter
return a value based on the logic above
}
//somewhere in your code-behind
if (MyStaticMethod(Request.Form["something"]) == 0) //something something