大家好,第一次在博客园发问,以后多多讨论
一直以来我对ajax或者是js方法直接调用后台CS中的方法有些疑问,想请大家帮忙解决下
我曾使用过的方法有三种:
1 在页面中加入隐藏的button,并定义了事件,然后执行js的$("#隐藏btnID").click()来 执行后台方法
2 用ajaxPro来执行
3 用ajax的url:页面地址/(静态)方法名称 来执行
在这种方法中,方法必须要求是静态的,所以例如在_default这个页面中 ,示例如下
public partial class _Default : System.Web.UI.Page
{
static int sVar = 1;
int abc = 3;
int result;
[WebMethod]
public static string AjaxGetMethod()
{
sVar = 2; //静态变量可以直接调用
_Default d = new _Default(); //如果不实例化 就不能使用result,abc
NoStaticFun nsf = new NoStaticFun(); //如果不实例化 就不能使用test
d.result = nsf.test();
d.result = d.abc;
return d.result;
}
}
public class NoStaticFun
{
public int test()
{
return 2;
}
}
在这个示例中,我进行了标注,我想知道有没有什么好方法
静态方法调用普通方法时一定要实例化