当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net使用母版页中使用ajax脚本取数据

asp.net使用母版页中使用ajax脚本取数据

2017年12月12日  | 移动技术网IT编程  | 我要评论

傲世决,大约在冬季伴奏,9877娜美小游戏

方法如下:
  1、 页面中拖入scriptmanager。以便于使用ajax脚本。同时放在其它客户端控件,用于触发netpost方法。这里不列出客户端控件。
复制代码 代码如下:

<asp:scriptmanager id="smmaster" runat="server" scriptmode="auto" enablepagemethods="true">
</asp:scriptmanager>

  2、在master源码中编写js
复制代码 代码如下:

function netpost() {
//创建实例
var wrequest = new sys.net.webrequest();
//设置请求url
wrequest.set_url("../checkstate/checknetstate.aspx");
//定义参数
var body = "ip=192.168.1.1";
//设置参数
wrequest.set_body(body);
//设置请求方式
wrequest.set_httpverb("post");
//请求完成处理函数
wrequest.add_completed(postnet);
//执行请求
wrequest.invoke();
}
function postnet(exector, eventargs) {
//执行器的状态e :responseavailable、aborted 或 timedout。
  //仅当 responseavailable 返回 true 时,事件处理程序才能访问执行器的其他响应信息。
if (exector.get_responseavailable()) {
  //判断状态是否正常
if (exector.get_statuscode() == '200') {
     //得到返回值
var returninfo = exector.get_responsedata();
if (returninfo == "0") {
      //显示相关内容
}
}
}
}

  3、add_completed()说明:
   注册的事件处理程序函数必须接受两个参数:
  1) 对发出网络请求的执行器的引用。通过访问执行器,可以检查其状态和检索响应数据。
  2) eventargs 参数,它由引发完成请求事件的执行器设置。
  4、编写请求页面
    请求地址为一个页面,没有任何html内容,仅在page_load方法中编写代码。本例中的请求页面放在根目录的checkstate文件夹下,名称为:checknetstate.aspx 。
  5、请求页面代码如下,主要实现ping功能。
复制代码 代码如下:

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
namespace iaddtech.environmental.web.ui.checkstate
{
public partial class checknetstate : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
response.clear();
//得到参数
string ip = request.form["ip"];
int isconnect = pingserver(ip);
//输入返回值
response.write(isconnect.tostring());
response.end();
}
private int pingserver(string ip)
{
system.net.networkinformation.ping p = new system.net.networkinformation.ping();
system.net.networkinformation.pingoptions options = new system.net.networkinformation.pingoptions();
options.dontfragment = true;
string data = "t";
byte[] buffer = system.text.encoding.ascii.getbytes(data);
int timeout = 1000; // timeout 时间,单位:毫秒
system.net.networkinformation.pingreply reply = p.send(ip, timeout, buffer, options);
if (reply.status == system.net.networkinformation.ipstatus.success)
return 0;
else
return 1;
}
}
}

  6、用其它页面套用母版页后,测试。
sys.net.webrequest请参考:

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网