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

ASP.NET
C#教程:简化的初始化
C#教程:隐式类型的局部变量
ASP.NET 2.0教程:Bind标签和Eval标签
用C#语言获取CPU利用率
ASP.Net实例:直接在邮件中内联附件内嵌图片
ASP.NET教程:性能优化的方法
ASP.NET开发方式的四层架构的Web应用系统构造
BasicHTTP-唯一能直接与Java交互的方式
ASP.NET教程:截取字符串
如何用ASP.NET实现多附件上传?
.Net程序员必读:八个实用网站推荐
.NET环境下为网站增加IP过滤功能
在.Net框架类库中如何使用定时器类
Asp.net是可以帮你实现Urlrewrite的
.NET开发过程中易被忽视的问题
ASP.NET教程:多个Set排列算法
c# 分布式事务以及MSDTC
解决ASP.NET2.0网站中对路径访问被拒绝问题
ASP.NET通过WMI创建站点添加虚拟目录和主机头
VS 2008完美地支持JavaScript和ASP.NET AJAX

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 60 ::
收藏到网摘: 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调用方法。