AJAX使用总结(Ajaxpro框架)
AJAX使用总结(Ajaxpro框架)
1.AJAX的异步调用产生的强烈UI体验,是否也曾令你惊叹,我也是用的不亦乐乎。AJAX调用经常会用在客户端前台从服务器端得到信息的一种手段,常常我们会连续多次进行异步调用,问题来了,如果在同一次执行序列(这里可以指一个函数,或者一系列语句)中,比如点击一个Button,需要;连续进行两次异步调用的话,那么第二次调用会彻底失败,回调函数不会执行,你期望的效果也不会出现。这个时候,你想到了什么?调试!(好,你就是三楼楼长!)可是调试完,依然得不到结论,回调函数就是不执行,你能咋的?!而且更有甚者,如果在两个异步调用中间加上一个中断,比如alert(),或者settimeout(这个函数还要注意时间间隔要设置的足够长,否则仍然不会响应第二个回调函数),这如何是好呢?我灵机一动,两个异步不行,我把一个改成同步的呢---------->OK!!看来硬的来不了,只能来软的,我换掉你不就OK了,最后适当调整同步和异步的调用位置,这样依然可以收到很好的效果。再者,要解决这个问题,也可以用我前面提到的setTimeout()函数。(估计是服务器接受客户端响应会过滤掉较短时间之内的其他响应吧。)
我们新建一个类,名字可以叫AjaxFunctions.注意:这个类一定要是可以序列化的,即加上[Serializable],这个是关键,然后你就可以在其中定义你得带jax.AjaxMethod的方法。然后在PageBase(页面基类)中注册这个方法Ajax.Utility.RegisterTypeForAjax(typeof(AjaxFunctions)).如果你想在Ajax方法中使用页基类的属性或者方法,你还可以让 AjaxFunctions继承PageBase,注意注册的地方不能放在构造函数中,应该重写Page的Load()函数.如果你需要在方法中使用Session,不要忘了加上 HttpSessionStateRequirement.ReadWrite。下面是一个例子:
public class AjaxFunctions:PageBase
{
public AjaxFunctions()
{
}
public bool ValidateUser(string IDNo, string Password)
{
try
{
RecuUser user = UserHandler.GetUerToValidate(IDNo, Password);
this.CurrentUser = user;
if(user == null)
{
return false;
}
else
{
return true;
}
}
catch
{
return false;
}
}
}
3.在Ajax方法中使用Session不能直接使用,需要这么写:HttpContext.Current.Session[""];
{
if (response.error != null)
{
alert(response.error);//Redirect to Error Page...
return;
}
}
5.有时候前台脚本会出现错误,这些错误可能无关紧要,也可能影响功能的使用,但是对于用户来说,脚本错误不会影响他浏览网页,但是功能就是用不了了,用户就不知道所以然了。所以当发生错误的时候,我们一定要提醒用户,需要立刻中止页面的使用,那么可以类似后台的ErrorHandler,我们可以利用Window.error这个事件,在PageBase中写以下代码:
Onerror.Append("<script language=javascript>/n");
Onerror.Append("function clientPage_OnError(msg,url,l){/n");
Onerror.Append("var errorMsg='There was an error on this page.';/n");
Onerror.Append("errorMsg +='Error: ' + msg;/n");
Onerror.Append("errorMsg +='URL: ' + url;/n");
Onerror.Append("errorMsg +='Line: ' + l;/n");
Onerror.Append("location.href('" + this.UrlBase + "/ErrorPage.aspx?ErrorMessage='+errorMsg);}/n");
Onerror.Append("</script>");
Page.RegisterClientScriptBlock("ErrorHandler",Onerror.ToString().Trim());
Page.RegisterClientScriptBlock("Onerror","<script language=javascript>onerror = clientPage_OnError;</script>");
这样你可以在Error事件中处理任何脚本错误了,给用户一个友好的提示:)
AJAX使用总结(Ajaxpro框架)相关推荐
- 转 ajax.dll 与 ajaxpro.dll的用法
转 ajax.dll 与 ajaxpro.dll的用法 文章分类:.net编程 ASP.NET AjaxPro的应用 1.首先下载AjaxPro组件.并将AjaxPro.dll引用到网站(或项目). ...
- dropdownlist ajax联动,asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例...
本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例.前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级 ...
- Web前端书单从HTML到JS到AJAX到HTTP从框架到全栈
前言:技术书阅读方法论 一.速读一遍(最好在1~2天内完成) 人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用. 对于每一章的知识,先阅读标题, ...
- 转 ajax.dll 与 ajaxpro.dll的用法
ASP.NET AjaxPro的应用 1.首先下载AjaxPro组件.并将AjaxPro.dll引用到网站(或项目). 2.修改Web.config.在 <system.web> 元素中添 ...
- ajax的11个框架
本文转载自 : www.iteye.com AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML),是创建交互式 Web 应用的主要开发技术 ...
- ajax异步超时,AjaxPro实现异步调用,解决浏览器假死及超时问题(示例代码)
平时使用AjaxPro的时候基本上非常easy var msg = UseClass.Method(argument).value; 由于后台响应比較慢,所以加了个"loading" ...
- TP框架增删改查需要掉ajax么6,TP6框架--EasyAdmin学习笔记:实现数据库增删查改
这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改 上一章链接:点击这里前往 上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们 ...
- ajax pro,关于AjaxPro的用法
1.添加引用AjaxPro.2.dll到项目中 2.添加webconfig iis6添加 在中添加: iis7添加在下: 3.在page_Load()事件中加入: AjaxPro.Utility.Re ...
- AjaxPro Ajax.Net
1,Ajax是什么 Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法.这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax ...
最新文章
- Tomcat启动项目时内存溢出问题如何解决
- 【EF Code First】 一对一、一对多的多重关系配置
- kettlejava脚本的api_Java调用自己开发的Kettle plugin插件
- 我写的一个给time_t赋值的小函数
- python释放变量内存_Python尚学堂高淇|1113引用的本质栈内存,堆内存,内存的示意图,标识符,变量的声明初始化,垃圾回收机制...
- 收集18个高大上的浏览器小技巧
- Merge k Sorted Lists leetcode java
- c 语言 strcmpy的实现
- mysql没有group by_MySQL:不在GROUP BY中
- 使用WndProc来处理消息
- 信域安全云网产品架构
- 电感式传感器的原理大白话
- 计算机表格折线图添加图例,怎么用EXCEL表格数据做折线图-如何用excel做折线图添加系列...
- 424. Longest Repeating Character Replacement
- Discuznbsp;x2.5单页制作的教程
- ElasticSearch简单使用
- mysql修改配置文件进行优化
- 消防应急疏散通道问题1(难度系数3)
- DS18b20温度值换算
- AI行业精选日报_人工智能(12·16)
热门文章
- 利用Python实现“指尖陀螺”,让你释放压力
- 锤子M1L评测:硬件配置全“满血”,操作系统继续出众
- 即时通讯服务 发送图片 语音,视频 实现方式。
- C语言 输入字符 ,判断是否为字母(包括大小写)
- “东数西算”工程来了!模组厂商如何助力打造5G+AIoT数智世界?
- 皮搋子的正确使用方法:如何疏通蹲便器
- 认识反射——Kotlin
- Filebeat+Kafka+ELK日志采集(五)——Elasticsearch
- Excel里科学计数法7.07E-05的含义
- docker 集群中 nginx 配置 php 需要注意的地方