同样的问题这里在发一次,有关学习AJAX中的迷茫,求指点迷津

weinaxxc 2008-07-11 02:34:08
现在看了好多资料,感觉都是告诉你AJAX是怎么回事,却没怎么提到具体应用的情况。目前我就是不知道如何下手
1.简单的异步传输一个值或者字符串什么的到服务器再获得一个值显示,这种一看就会的就不提了
2.范围大一点的,比如无刷新的进行翻页,原来我用的是VS2005的ICALLBACKEVENTHANDLER来实现的,最后返回前台是直接通过WRITER直接写的,现在用AJAX,假如我请求访问第2页的数据,那请求后返回的数据表格或者LIST是如何在前台的接收函数进行处理的!
3.再复杂一点的,如果我需要用AJAX在绑定数据后的REPEATER中进行对数据进行无刷新的编辑,比如新增,删除,修改什么的,效果就象在桌面应用程序里面操作,这个的编程思路是怎样的?

求解,大家也可讨论一下!
...全文
194 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
yagebu1983 2008-07-11
  • 打赏
  • 举报
回复
建议你去浪曦论坛看看!!!
Magic_YJL 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 weinaxxc 的回复:]
大家发言啊,谁把我拍醒了,分全送!
[/Quote]
我拍,拍,拍,拍,拍。。。
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 qq22345111 的回复:]
第二个跟ajax没的必然联系
只是翻页的问题!
好好的看看基础
PS:
对我回答的解释:
储过程里直接返回第二页的数据,即第n到第m条,不要返回全部数据,这样提高了大数据量的性能,这个搜索一下,有很多存储例子的
在PS:
怎么老是有人跳出来扯别的,跟我说的根本不是一回事,我问的是查到数据以后怎么办?DATAREADER?DATASET?HtmlTextWriter?用什么方式返回前台,返回到前台以后用JS又怎么处理显示在页面上的!
方…
[/Quote]

搞不懂了,无刷新翻页怎么会跟AJAX没关系(当然是数据库翻页),已经说了很多次了,单纯翻页我可以写出好多种代码,不用再强调如何翻页了!

最后一条
“这就是关键,是不是每次都必须弄成一个字符串返回再处理?
PS:一般来说
是的”

如果这样AJAX和ICallbackEventHandler有什么不同呢?虽然两者低层都一样!
sheng9hhd 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 weinaxxc 的回复:]
引用 26 楼 sheng9hhd 的回复:
放在updatapannel里面,该怎么绑定就怎么绑定!注意加tragger事件就可以

楼上的,如果我想用UPDATEPANEL我也就不需要发贴了,我只是想搞的更清楚点,如果你能告诉我UPDATEPANEL里面的JS代码的思路就好了!

一直在思索UPDATEPANEL是怎么做到样式格式都能全盘显示的呢?也就是我想问的,最终返回的数据如何处理成想要的表现结构!
[/Quote]

就是通过javascript的innerHTML把数据和控件显示出来
qq22345111 2008-07-11
  • 打赏
  • 举报
回复
第二个跟ajax没的必然联系
只是翻页的问题!
好好的看看基础
PS:
对我回答的解释:
储过程里直接返回第二页的数据,即第n到第m条,不要返回全部数据,这样提高了大数据量的性能,这个搜索一下,有很多存储例子的
在PS:
怎么老是有人跳出来扯别的,跟我说的根本不是一回事,我问的是查到数据以后怎么办?DATAREADER?DATASET?HtmlTextWriter?用什么方式返回前台,返回到前台以后用JS又怎么处理显示在页面上的!
方法:
把数据库读出来的数据存放入
DATASET,XML,DataTable这些都是可以的
然后把数据使用流的方式:
我经常用的处理方式是 比如返回一个字符串组,就用一些特殊符号把这些字符串组链接
成一个字符串返回,返回后再拆分成一个个的字符串,并加上table或者 <br>之类的符号
插入到div或者其他控件中,来形成一个自定义的表格显示数据。
这就是关键,是不是每次都必须弄成一个字符串返回再处理?
PS:一般来说
是的
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 sheng9hhd 的回复:]
放在updatapannel里面,该怎么绑定就怎么绑定!注意加tragger事件就可以
[/Quote]
楼上的,如果我想用UPDATEPANEL我也就不需要发贴了,我只是想搞的更清楚点,如果你能告诉我UPDATEPANEL里面的JS代码的思路就好了!

一直在思索UPDATEPANEL是怎么做到样式格式都能全盘显示的呢?也就是我想问的,最终返回的数据如何处理成想要的表现结构!
sheng9hhd 2008-07-11
  • 打赏
  • 举报
回复
放在updatapannel里面,该怎么绑定就怎么绑定!注意加tragger事件就可以
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 keyake863 的回复:]
我经常用的处理方式是 比如返回一个字符串组,就用一些特殊符号把这些字符串组链接
成一个字符串返回,返回后再拆分成一个个的字符串,并加上table或者 <br>之类的符号
插入到div或者其他控件中,来形成一个自定义的表格显示数据。
[/Quote]

这就是关键,是不是每次都必须弄成一个字符串返回再处理?
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wszhoho 的回复:]
以翻页为例,一个表,学号,姓名,分数,我原先用的是直接绑定,现在我准备用异步发送返回的办法,先用SQL查询出第二页的数据,然后又怎么处理呢?又开始不明白了!呵呵
==================================
存储过程里直接返回第二页的数据,即第n到第m条,不要返回全部数据,这样提高了大数据量的性能,这个搜索一下,有很多存储例子的。
[/Quote]
怎么老是有人跳出来扯别的,跟我说的根本不是一回事,我问的是查到数据以后怎么办?DATAREADER?DATASET?HtmlTextWriter?用什么方式返回前台,返回到前台以后用JS又怎么处理显示在页面上的!
keyake863 2008-07-11
  • 打赏
  • 举报
回复
我经常用的处理方式是 比如返回一个字符串组,就用一些特殊符号把这些字符串组链接
成一个字符串返回,返回后再拆分成一个个的字符串,并加上table或者<br>之类的符号
插入到div或者其他控件中,来形成一个自定义的表格显示数据。
wszhoho 2008-07-11
  • 打赏
  • 举报
回复
以翻页为例,一个表,学号,姓名,分数,我原先用的是直接绑定,现在我准备用异步发送返回的办法,先用SQL查询出第二页的数据,然后又怎么处理呢?又开始不明白了!呵呵
==================================
存储过程里直接返回第二页的数据,即第n到第m条,不要返回全部数据,这样提高了大数据量的性能,这个搜索一下,有很多存储例子的。
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 wszhoho 的回复:]
我不需要这些流程啊什么原理的,都看过多少遍了
我需要的就是最后一步,返回的数据如何处理?
===============================================
如果你返回的xml,dom操作,如果你返回的是json,直接循环json对象,
无非就是拼凑html代码,或者用js创建dom对象,仅此而已。
[/Quote]
谢谢,还有个问题,以翻页为例,一个表,学号,姓名,分数,我原先用的是直接绑定,现在我准备用异步发送返回的办法,先用SQL查询出第二页的数据,然后又怎么处理呢?又开始不明白了!呵呵
zld_baggio 2008-07-11
  • 打赏
  • 举报
回复
学习中..............
wszhoho 2008-07-11
  • 打赏
  • 举报
回复
我不需要这些流程啊什么原理的,都看过多少遍了
我需要的就是最后一步,返回的数据如何处理?
===============================================
如果你返回的xml,dom操作,如果你返回的是json,直接循环json对象,
无非就是拼凑html代码,或者用js创建dom对象,仅此而已。
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 fellowcheng 的回复:]
前台的js处理例子


JScript code//后台回调方法
function ShowDesktopHtml(htmlReceipt, context)
{
var divRpt = document.getElementById("divDesktop");

if(htmlReceipt.indexOf("$defaultModuleList$") > 0)
{
var list = htmlReceipt.split("$defaultModuleList$");
if(list[0])
divRpt.innerHTML = list[0];

[/Quote]

我是不是可以这样理解,AJAX和ICallbackEventHandler(实质上原理一样)最后都是返回一个数据链,我最后在前台处理的时候都需要对这个数据链进行结构分析,用程序来构造我需要的表现结构?
weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 TopFans 的回复:]
ajax的原来其实很简单,建议找个简单的demo看看
大概流程如下:

1建一个httprequest的类
2设置好回调函数
3向服务器发送请求
4请求返回后调用回调函数
5在回调函数里面写你的业务逻辑。
[/Quote]

我不需要这些流程啊什么原理的,都看过多少遍了
我需要的就是最后一步,返回的数据如何处理?
fellowcheng 2008-07-11
  • 打赏
  • 举报
回复
前台的js处理例子

//后台回调方法
function ShowDesktopHtml(htmlReceipt, context)
{
var divRpt = document.getElementById("divDesktop");

if(htmlReceipt.indexOf("$defaultModuleList$") > 0)
{
var list = htmlReceipt.split("$defaultModuleList$");
if(list[0])
divRpt.innerHTML = list[0];
if(list[1])
{
//选中默认模块
var modules = list[1].split("||");
if(modules.length>0)
{
var tv = document.getElementById("TreeView1");
var ks = tv.getElementsByTagName('INPUT');

for(var k=0;k<ks.length;k++)
{
if(ks[k].type=="checkbox" && ks[k].title.indexOf("%%control?")>0)
{
for(var j=0;j<modules.length;j++)
{
if(ks[k].title.indexOf(modules[j])>0)
ks[k].checked = true;
}
}
}
}
}
}
else
{
divRpt.innerHTML = htmlReceipt;
}
edit = true;
inint();
var divPs = document.getElementById("divProcessTmp");
divPs.innerHTML = "";
}
TopFans 2008-07-11
  • 打赏
  • 举报
回复
ajax的原来其实很简单,建议找个简单的demo看看
大概流程如下:

1建一个httprequest的类
2设置好回调函数
3向服务器发送请求
4请求返回后调用回调函数
5在回调函数里面写你的业务逻辑。
fellowcheng 2008-07-11
  • 打赏
  • 举报
回复
复杂的脚本分析和返回,我可能会使用前台:js +XMLHTTP ,后台:ashx文件的做法
简单的就用ICallbackEventHandler接口

其实我说的脚本组装楼主应该已经用到了,就是 通过WRITER直接输入的

大概就是
    private string getRenderCode()
{
StringWriter writer1 = new StringWriter(CultureInfo.InvariantCulture);
HtmlTextWriter writer2 = new HtmlTextWriter(writer1);

GridView1.Visible = true;
GridView1.RenderControl(writer2);
writer2.Flush();
writer2.Close();

return writer1.ToString();

}


weinaxxc 2008-07-11
  • 打赏
  • 举报
回复
大家发言啊,谁把我拍醒了,分全送!
加载更多回复(12)

62,176

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧