0

我在 aspx.cs 页面中有一个静态的 webmethod,我想在该方法中使用 Request.Form[] 但不支持并说:

非静态字段需要对象引用。我如何在该网络方法中使用 Request.Form[] (任何替代使用方式)

问候吉特尼姆

4

2 回答 2

0

如果您回帖,Request.Form则有意义。

据我了解,您只需在后面的代码中调用静态函数。那时该页面不存在,您也不要完整回帖以填写表格

任何替代使用方式

正确的方法是将您的数据作为参数发送给函数。

于 2012-06-14T13:45:58.370 回答
0

您不能在静态上下文中使用非静态属性。如果您的方法是静态的,则意味着它不应该依赖于被调用的实例(在这里您使用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
于 2012-06-14T13:35:43.627 回答