首页 新闻 会员 周边 捐助

无刷新提交数据

0
[已解决问题] 解决于 2011-01-20 15:08

无刷新提交怎么弄呢?

就像博客园一样的。。。

有没有例子看啊?

艾克赛尔的主页 艾克赛尔 | 初学一级 | 园豆:4
提问于:2010-12-16 21:16
< >
分享
最佳答案
0

用js+ajax啊 ,将你的数据通过参数传到服务器

var XmlHttp = null;
function GetXmlHttp() {  
 if (!window.ActiveXObject) {
        XmlHttp = new XMLHttpRequest();   
 } 
//对于FireFox与Chrome浏览器内核使用XMLHttpRequest对象   
 else {       
 try {           
 XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");        }     
   catch (e) {            try {            
   XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");            }            catch (e) {                alert("您的浏览器不支持AJAX!");                return false;            }        }    }  //对于IE浏览器内核使用ActiveXObject对象    return XmlHttp;}
//传两个参数,可以自行添加
function SendAjax(ParaName,ParaValue) {

XmlHttp
=GetXmlHttp();

var url
= "Default.aspx";
url
+= "?ParaName=" + encodeURI(ParaName) + "&ParaValue=" + encodeURI(ParaValue)+"&rand="+Math.random();
//encodeURI传递中文
if(XmlHttp==null)
{
alert(
"你的浏览器不支持AJAX");
return ;
}
XmlHttp.open(
"POST",url,true);

XmlHttp.send(
null);

XmlHttp.onreadystatechange
=ServerProcess;//服务器响应的方法名称

}
function ServerProcess(data) {
// alert(url);
//alert("123");

if(XmlHttp.readyState==4)
{
if (XmlHttp.status == 200) {

document.getElementById(
"mainContent").innerHTML = XmlHttp.responseText;//得到服务器传来的数据
}
}
}
服务器端.cs文件
//获取参数
string paraname=Request.Query["ParaName"].ToString();
可以通过Response.Write(
"content");向客户端传数据

VanJames2010 | 菜鸟二级 |园豆:321 | 2010-12-16 22:28
能不能讲的详细些,这个应该怎么用??
艾克赛尔 | 园豆:4 (初学一级) | 2010-12-17 10:51
@InterNationalBigMoth:还要怎么详细啊,不会让我把html也写出来吧,html里添加一个对js的引用或者直接将上面js部分放入<head><script></script></head>内,mainContent是你要显示服务器传回内容的标签ID,你在html里想要添加事件的onclick=SendAjax(para,para2)传参数啊,在服务器端就是新建个aspx除了第一行,剩下内容从<html开始都可以删掉,在cs里根据上诉方法进行获取在进行你想进行操作啊
VanJames2010 | 园豆:321 (菜鸟二级) | 2010-12-17 12:58
嗯,知道了,谢谢!
艾克赛尔 | 园豆:4 (初学一级) | 2010-12-17 19:17
其他回答(5)
0

无刷新一般是使用Ajax实现的,.net2.0以上也有实现无刷新的控件。对于web应用程序使用Jquery+Ajax可以实现异步交互,从而实现无刷新效果。其实无刷新的原理是只是更换网页中需要变化的数据部分,其它部分保持不变,我们向服务器提交请求后,服务器还是把你所请求的整个页面都发送过来了,只不过我们使用Ajax技术过滤选择我们所需要的部分,然后更新页面中需要变化的部分,其它部分保持不变,看起来就像没有刷新一样。Ajax技术现在应用还是挺广的,像博客园和csdn都是用了无刷新技术,一些网站的翻页也是通过无刷新实现的。

流水殇 | 园豆:404 (菜鸟二级) | 2010-12-16 21:38
0

其实单纯的无刷新很容易实现的,楼主只需要将页面上放一个UpdatePanel和一个ScriptManager就可以了。将控件放在UpdatePanel里面,然后点击按钮等等那些事件就不会使整个页面都回发,VS工具栏里面有Ajax。

无 影 | 园豆:59 (初学一级) | 2010-12-16 22:38
0

我觉得还是用jquery比较好,如果用控件会加大页面下载流量的

邓大林 | 园豆:200 (初学一级) | 2010-12-17 10:22
0

使用ajax控件,ScriptManager+UpdatePanel,

楼上jquery怎么做无刷新,可否发个例子看看。

dinoy | 园豆:160 (初学一级) | 2010-12-17 10:31
jquery中你查下资料,有一个ajax的函数,你配好参数就可以了
支持(0) 反对(0) 邓大林 | 园豆:200 (初学一级) | 2010-12-17 13:44
0

用控件,如果想用jquery+html这样的,就全部用他,如果用asp.net就全部用asp.net控件。。。

顾晓北 | 园豆:10898 (专家六级) | 2010-12-17 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册