Login Gblog  
简单点~~~
 
文章全文
Goberl 发表于 2008-11-26 5:29:29

上次在修改评论模块的验证机制时,Ajax用到了AJAX Extensions。第一次把它用到实际作品中,也就难免犯错误,当时耗费了我不少的力气才找出错误的根源。故在此谈谈用后的一点思绪。


1.如果web服务中暴露给客户端调用的方法中需要用到Session,则需要设置EnableSession。如:

复制代码 
    [WebMethod(EnableSession = true)]
    public string DeleteCommentByID(int replayID)
    {
       //删除评论
}

每一个暴露给客户端的方法或者类都需要关键字[WebMethod],同时需要引入 System.Web.Script.Services空间,以及添加关键字[ScriptService]


2.如果前台Javascript调用后台类中的方法,传递的参数个数不一致,会导致页面下载、显示缓慢,呈现服务器忙的状态;运行调用方法的Javascript,IE提示错误“缺少对象”。
前台调用后台类方法的一般格式为[nameSpace].className.方法名称(param1,param2,……,succeededCallback, failedCallback, userContext).

  • nameSpace是命名空间;
  • className是类名称;
  • param1、param2……是传递的参数;
  • succeededCallback是成功调用后执行的Javascript函数;
  • failedCallback是调用失败后要执行的Javascript函数;
  • userContext是用户上下文对象。

在上述格式中,命名空间、succeededCallback、failedCallback、userContext是可选的。需要注意的是如果省略了 前面的某一个参数,却又保留了后面的参数,则需要为前面的参数留下空位置。如:[nameSpace].className.方法名称 (param1,param2,……,succeededCallback, , userContext)中省略了failedCallback但保留了userContext,则需要用双逗号留下空位置。

我不喜欢用UpdatePanel,因为我不能接受这个控件带来的程序性能。虽然说用了它可以大大减轻编程人员的负担——一个对Javascript一点 也不了解的人可以利用这个控件生成具有强大功能的Ajax页面,因为编程人员不必为Ajax页面写一句Javascript代码,可想而知此控件功能的牛 ×。不过如果遇到大量如同表格类数据,又需要分页、排序、修改、删除等功能的,如果对性能要求不是很高还是可以考虑它的,毕竟可以为我们节省开发时间。提 高了开发效率就降低了程序的运行性能,鱼和熊掌难以兼得啊。

类别:Bug回收站      标签:ASP.NET      浏览(11)
相关主题:
上周星期六 操作必须使用一个可更新的查询。
观博客,显缺陷 让web服务器自动执行起来
ASP.NET创建标准url实现SEO
评论列表:
aNd1coder     发表于 2009-9-25 16:19:00
我是从来都没有用过asp.net ajax...小的应用直接用原生的js..:)
发表评论
大名: ( *必填)
Email: (填写后,将收到Goberl对你的回复)
网址: (可选)
正文:
      记住信息?