时间:2021-07-01 10:21:17 帮助过:55人阅读
- <br><asp:ScriptManager ID="smMaster" runat="server" ScriptMode="Auto" EnablePageMethods="true"> <br></asp:ScriptManager> <br> <br><strong> 2、在Master源码中编写js</strong> <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>function NetPost() { <br>//创建实例 <br>var wRequest = new Sys.Net.WebRequest(); <br>//设置请求URL <br>wRequest.set_url("../CheckState/CheckNetState.aspx"); <br>//定义参数 <br>var body = "ip=192.168.1.1"; <br>//设置参数 <br>wRequest.set_body(body); <br>//设置请求方式 <br>wRequest.set_httpVerb("POST"); <br>//请求完成处理函数 <br>wRequest.add_completed(PostNet); <br>//执行请求 <br>wRequest.invoke(); <br>} <br>function PostNet(exector, eventArgs) { <br>//执行器的状态E :responseAvailable、aborted 或 timedOut。 <br> //仅当 responseAvailable 返回 true 时,事件处理程序才能访问执行器的其他响应信息。 <br>if (exector.get_responseAvailable()) { <br> //判断状态是否正常 <br>if (exector.get_statusCode() == '200') { <br> //得到返回值 <br>var returnInfo = exector.get_responseData(); <br>if (returnInfo == "0") { <br> //显示相关内容 <br>} <br>} <br>} <br>} <br> <br><strong> 3、add_completed()说明:</strong> <br> 注册的事件处理程序函数必须接受两个参数: <br> 1) 对发出网络请求的执行器的引用。通过访问执行器,可以检查其状态和检索响应数据。 <br> 2) eventArgs 参数,它由引发完成请求事件的执行器设置。 <br><strong> 4、编写请求页面 <br></strong> 请求地址为一个页面,没有任何HTML内容,仅在Page_load方法中编写代码。本例中的请求页面放在根目录的CheckState文件夹下,名称为:CheckNetState.aspx 。 <br><strong> 5、请求页面代码如下,主要实现Ping功能。</strong> <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>using System; <br>using System.Collections.Generic; <br>using System.Linq; <br>using System.Web; <br>using System.Web.UI; <br>using System.Web.UI.WebControls; <br>namespace Iaddtech.Environmental.Web.UI.CheckState <br>{ <br>public partial class CheckNetState : System.Web.UI.Page <br>{ <br>protected void Page_Load(object sender, EventArgs e) <br>{ <br>Response.Clear(); <br>//得到参数 <br>string ip = Request.Form["ip"]; <br>int isConnect = PingServer(ip); <br>//输入返回值 <br>Response.Write(isConnect.ToString()); <br>Response.End(); <br>} <br>private int PingServer(string ip) <br>{ <br>System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping(); <br>System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions(); <br>options.DontFragment = true; <br>string data = "t"; <br>byte[] buffer = System.Text.Encoding.ASCII.GetBytes(data); <br>int timeout = 1000; // Timeout 时间,单位:毫秒 <br>System.Net.NetworkInformation.PingReply reply = p.Send(ip, timeout, buffer, options); <br>if (reply.Status == System.Net.NetworkInformation.IPStatus.Success) <br>return 0; <br>else <br>return 1; <br>} <br>} <br>} <br> <br> 6、用其它页面套用母版页后,测试。 <br><strong>Sys.Net.WebRequest请参考:</strong>http://msdn.microsoft.com/zh-cn/library/bb310979.aspx</li><li> </li><li> </li></ol></pre></li></ol></pre>