当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net下PageMethods使用技巧

ASP.NET
Proxy
关于DEV的TreeList控件的使用(1)
用C#给程序加启动画面并只允许一个应用程序实例运行
Vb.net进阶:.NET 中的代码页(CodePage)
XMLHTTP 对象及其方法简介
C#:获得文件版本信息及只读文件的删除
C#:文件的按行读/写及文件目录对话框的使用
What is Mono?
C#:ListBox的2个常用方法Add,Clear与Items的2个属性
使用属性和反射过渡从数据存取层到业务物件1
安装Mono
使用属性和反射过渡从数据存取层到业务物件 - II
Mono介绍(无图片)
[JavaScript]一段把客户端的中文字串转换成UTF-8的代码
Mono 基本概念
Hello Mono
对开发的程序(制作CAB)进行签名,并允许网站中使用
锁住你的EXCEL
DCG升级了!
怎样在C#中调用Delphi6写的DLL

ASP.NET 中的 asp.net下PageMethods使用技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 185 ::
收藏到网摘: n/a

ASP.net AjAX中的PageMethods可以将静态页方法添加到 ASP.NET 页中并将其用作 Web 方法。然后,无需创建单独的 .asmx 文件即可从该页中的脚本调用这些方法,就好像这些方法是 Web 服务的一部分。特别是在一些交互流程不复杂而调用次数和方法又比较多的情况下更为方便。因为PageMethods不需要我们再添加另外的WEB服务或Page来处理请求。

以前一直都是用WEB Project方式开发网站,在不少地方使用PageMethods,可以说是轻车熟路了。这次想尝试下WEB Site方式,因为修改代码后不用编译,再次刷新页面就能看到效果,这点比较方便。

可是我在使用PageMethods时,却遇到了麻烦。加好了ScriptManager,给静态方法加上了[WebMethod]特性,可是页面输出就是看不到ScriptManager:( 以为是.net 3.5或vs2008的问题,google没有答案。又怀疑是网站中某个handlers或是导致出错,重新检查过,并且移除所有handlers测试,结果还是不行。

快要崩溃的时候注意到个问题,MSDN中的例子给出的例子代码是放在aspx文件中,而我的代码是放在CodeFile中,会不会是这个问题呢? 将自己的静态方式代码移到ASPX文件中,再刷新页面,PageMethods出来!!!

差点要砸电脑了

为什么会有这样的限制?为什么非要要ASPX文件中PageMethods才有效....

image

ScriptManager.EnablepageMethods="true"

image

静态方法定义

image

JS调用方法。