asp.net使用母版頁中使用ajax指令碼取資料
因母版頁繼承自UserControl,我們無法像正常頁面那樣使用Jquey或Ajax的PageMethods等無重新整理方法取資料。不過可以使用ajax提供的Sys.Net.WebRequest來解決這一問題。
方法如下:
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、用其它頁面套用母版頁後,測試。 喜歡的可以關注西昆雲
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2747479/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用ajax指令碼取資料指令碼
- asp.net 在使用母版頁的子頁面cs後臺程式碼中控制母版頁中的登入控制元件顯示ASP.NET控制元件
- datatables使用ajax獲取資料
- ASP.NET母版頁使用 按下回車重新整理頁面 去掉 標籤ASP.NET
- asp.net 內容頁訪問母版頁中的控制元件ASP.NET控制元件
- ASP.NET 使用AjaxASP.NET
- jquery使用ajax讀取後臺資料在表格中顯示jQuery
- IE瀏覽器中ajax使用快取資料的問題瀏覽器快取
- ASP.NET動態網站開發培訓-34.互動論壇製作(二、製作母版頁和使用母版頁)ASP.NET網站
- Asp.Net中ajax+aspx使用詳解ASP.NET
- Asp.Net中ajax+ashx使用詳解ASP.NET
- Asp.Net MVC 使用 AjaxASP.NETMVC
- 使用伺服器端控制AJAX頁面快取伺服器快取
- 使用shell 指令碼備份資料指令碼
- .net中 使用指令碼指令碼
- 在asp.net AJAX客戶端使用複雜資料型別ASP.NET客戶端資料型別
- 使用shell指令碼替換csv檔案中的資料指令碼
- ajax讀取資料庫資料程式碼例項資料庫
- 母版頁(Master Pages)AST
- GoldenGate使用Obey指令碼同步資料Go指令碼
- 怎麼在ajax外邊使用ajax裡面在後端獲取的資料後端
- 使用LayUI實現AJAX分頁UI
- yii框架ajax分頁的使用框架
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 在SAP WebClient UI裡使用AJAX進行非同步資料讀取WebclientUI非同步
- Shell指令碼中cd命令使用指令碼
- 分頁按頁碼讀取redis資料Redis
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- 巧用shell指令碼分析資料庫使用者指令碼資料庫
- 使用 jQuery Ajax 在頁面滾動時從伺服器載入資料jQuery伺服器
- 【webabcd】溫故知新ASP.NET 2.0(C#)(1) - MasterPage(母版頁)WebASP.NETC#AST
- 使用儲存指令碼還原恢復資料庫指令碼資料庫
- 在ASP.NET中使用AJAX的簡單方法ASP.NET
- 如何使用 Bash 指令碼從 SAR 報告中獲取 CPU 和記憶體使用情況指令碼記憶體
- jQuery 使用ajax,並重新整理頁面jQuery
- 使用ajax.dll時js指令碼錯誤-XXX未定義JS指令碼
- 如何使用js獲取USB掃碼槍資料JS
- Laravel 自定義登入註冊頁面並使用 Ajax 進行資料傳輸Laravel