利用XMLHTTP实现ASP.NET无刷新提交

        在一些页面处理中,如果需要多次进行后台提交处理的话,就会不停的刷新页面,很烦人,特别是机器配置不好或者网络状况不好的情况下,更加显得让人难受。

这种情况下我们可以利用XMLHTTP来实现不刷新的提交,这在做asp的时候就有不少这样的应用,在asp.net里使用也是一样的。

首先,新建一个页面,命名Send.aspx, 用来做需要提交的页面,另一个页面do.aspx, 用来做处理提交的页面。

在Send.aspx页面中,有一个input输入框,作为我们需要提交到后台的数据,

 
 
< input id ="txtUser" type ="text" runat ="server" >

另外写一个js的提交方法,代码如下:

 
 
function SendData() { var xh = new ActiveXObject( " MSXML2.XMLHTTP " ) xh.open( " POST " , " do.aspx?ID=1 " , false ); xh.send(document.all.txtUser.value); alert(xh.responseText); // 打印XMLHTTP的返回数据 }

这个js方法非常简单,定义一个XMLHTTP对象,然后就调用open方法和send方法,就可以了

在处理的页面do.aspx,在对应的cs文件do.aspx.cs中,这样来接收发送过去的数据:

 
 
int id = 0 ; if (Request.Params[ " ID " ] != null ) { // 接收从url中传递过来的参数 id = int .Parse(Request.Params[ " ID " ]); } // 接收从xh.send()方法中传递过来的数据 System.IO.Stream stream = Request.InputStream; System.IO.BinaryReader br = new System.IO.BinaryReader(stream, System.Text.Encoding.Default); int len = int .Parse(stream.Length.ToString()); byte [] b = br.ReadBytes(len); // 这里可以根据传递过来的参数和数据进行各种处理 // ... // 返回给发送页面的数据,通过Response.Write()来传递 // 这里将发送过来的参数和数据返回 Response.Write(id + System.Text.Encoding.Default.GetString(b));

整个过程就这样OK了。

注意,在do.aspx文件的html代码页面中,如果存在任何的前台代码,都会作为send()请求的返回内容,一并返回到xh.responseText中。

XMLHTTP还有很多其他的属性和方法,大家有兴趣的话可以再研究一下,另外,可以结合MSXML.DOMDocument来将xml文件作为前后台传输数据的介质。

转载于:https://www.cnblogs.com/chinareport/archive/2006/03/21/355051.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值