Ajax的各种问题----我相信各种问题我都遇上了,并附解决之道

======使用Ajax步骤======

1、Web.config,在System.web下面添加HttpHandlers节,Web.Config看起来是这样的:

 

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpHandlers>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <handlers>
      <add name="Ajax"  verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </handlers>
  </system.webServer>
</configuration>

 

红色一段为必须,蓝色一段仅在Win7下架设的IIS服务器管用,是否该加上,我等尚未找出确然的规律。

对一个项目来说,只需要添加一次。

2、引用Ajax.dll
3、编写一个Ajax处理类,如CaoPanAjax
4、在方法前加上红色一段代码

        /// <summary>
        /// 有时候Ajax突然不工作了,特意写个简单方法来测试
        /// </summary>
        /// <param name="who"></param>
        /// <returns></returns>
        [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
        public string hi(string who)
        {
            return "hi," + who + "!";
        }

5、编写方法,返回string最佳,因为最容易阅读,同时Ajax方法应当遵循“属性是属性,函数是函数,绝不互相引用”的原则,假设需要引用什么属性了,一律用参数----入参代替,为什么这样呢,因为一个模块----“前台”,自我维持变量的值更好,它可以请求存储,但只是存储而已,最好不要跟其他相关,另外,这样写出的代码,每个函数都是可以独立移植的,可移植性为最佳。
6、调用方法,在aspx的前台调用,默认生成的<head runat="server">以及<form id="form1" runat="server">不能删,否则提示“找不到对应的类”;

7、部署,只发现Win7上部署,有时需要上面蓝色一段代码,有时又不需要(多了还不行),具体关联,我等尚未参透。

 

======Aspx页面工作流======

①该类的窗体级初始化代码
②Page_Load
③    !IsPostBack
④        A
⑤Server方法
⑥Ajax方法
------------------------------------------
初始化   Server方法  呼叫Ajax 呼叫独立Ajax
  ①         ①                ①            ①
  ②         ②                ⑥            ⑥
  ③         ⑤
  ④
------------------------------------------
这个顺序证明:

1、执行任意方法都是经过初始化的① ,所以“全局变量”的值是一定是“初始值”。

2、一般的Server方法肯定会执行Page_Load方法,同时是否第一次可以用IsPostBack区分,这个属性的意思是回发,所以第一次写成 if (!IsPostBack),就是A的位置。

3、任何在Page_Load中的代码,在Ajax调用过程中,都不被执行,所以影响Ajax调用的代码,只能写在用Ajax声明的方法体中。

 

补充:Ajax有Ajax.dll和AjaxPro版本,从易用来说,还是Ajax.dll更容易。


有空的话,我会给写个Demo程序。


问题是答案的引导者,欢迎提问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值