1. 程式人生 > >.net Ajax與後臺一般處理程式(ashx) 互動

.net Ajax與後臺一般處理程式(ashx) 互動

    本文主要實現無動態重新整理查詢後臺資料功能,主要用到ajax+ashx+sqlserver進行互動.

首先需要引用Jquery:

 <script language="javascript" type="text/javascript" src="../js/jquery.js">

html指令碼:

<asp:TextBox ID="tb_corpName" runat="server" MaxLength="100" Width="369px"></asp:TextBox>

前臺通過一個事件來呼叫ashx:

<script type="text/javascript">
    $(
function () { $("#tb_corpName").blur(function () {    //滑鼠失去焦點事件 var corpName = $("#tb_corpName").val(); $.ajax({ type: "post", //提交方式 url: "/ashx/FZGpyShowData.ashx", //一般處理程式的路徑 data: { corpName: corpName }, //
向後臺傳入的值 dataType: "json", //返回值格式 success: function (data) { //返回成功後將要做的事,這裡是返回一個表 $("#tb_CreditCode").val(data[0].CreditCode); $("#tb_corpCode").val(data[0].CorpCode); $("#tb_linkTel").val(data[0].LinkPhone); $(
"#corpProvince option[text='" + data[0].StateName + "']").attr("selected", true); showCity(); $("#corpCity option[text='" + data[0].AdminAreaName + "']").attr("selected", true); $("#tb_address").val(data[0].Address); $("#tb_linkMan").val(data[0].LinkMan); $("#tb_Mobile").val(data[0].LinkMobile); } }); }) }) </script>

後臺來接收前臺傳過來的值,對其進行操作:

     public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string corpName = context.Request["corpName"].Trim().ToString();      //接收前臺傳過來的引數
            if (corpName != "")
            {
                string sql = @"select top 1 CorpName,CreditCode,CorpCode,LinkPhone,StateName,AdminAreaName,LinkMan,LinkMobile,Address from tbProductOrder as a 
                                        inner join tbStateDic as b on a.StateNum = b.StateNum
                                        inner join tbAdminAreaClass on a.CityNum = AdminAreaClassID
                                        where CorpName [email protected] order by CorpName";
                SqlParameter[] par = new SqlParameter[1];
                par[0] = new SqlParameter("@CorpName", corpName);
                DataSet ds = DBHerpler.Load(sql, par); 
                string json = SerializerHelper.ToJsonString(ds.Tables[0]);   //返回json型別的資料
                context.Response.Write(json);                      
                context.Response.End(); 
            } 
        }

SerializerHelper類的定義:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.IO;
using System.Xml.Serialization;
using Newtonsoft.Json;

/// <summary>
/// SerializerHelper 的摘要說明
/// </summary>
public static class SerializerHelper
{
    /// <summary>
    /// 反序列化XML檔案
    /// </summary>
    public static T LoadFromXmlFile<T>(string filepath) where T : class
    {
        using (FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            return (T)serializer.Deserialize(stream);
        }
    }

    /// <summary>
    /// 反序列化XML字串
    /// </summary>
    public static T LoadFromXmlString<T>(string xml) where T : class
    {
        XmlSerializer serializer = new XmlSerializer(typeof(T));
        byte[] bytes = Encoding.UTF8.GetBytes(xml);

        using (MemoryStream stream = new MemoryStream(bytes))
        {
            return (T)serializer.Deserialize(stream);
        }
    }

    /// <summary>
    /// 序列化XML物件
    /// </summary>
    public static string SaveToXmlString<T>(T entity) where T : class
    {
        using (MemoryStream stream = new MemoryStream())
        {
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            serializer.Serialize(stream, entity);
            return Encoding.UTF8.GetString(stream.ToArray());
        }
    }

    /// <summary>
    /// 序列化Json物件
    /// </summary>
    public static string ToJsonString(object obj)
    {
        return ToJsonString<object>(obj);
    }

    /// <summary>
    /// 序列化Json物件
    /// </summary>
    public static string ToJsonString<T>(T obj) where T : class
    {
        string text = JsonConvert.SerializeObject(obj);
        return text;
    }

    /// <summary>
    /// 反序列化Json字串
    /// </summary>
    public static T ToJsonObject<T>(string text) where T : class
    {
        T obj = (T)JsonConvert.DeserializeObject(text, typeof(T));
        return obj;
    }
}

如果向後臺傳入多個引數在data裡面用逗號分割可寫多個引數:

    data: { corpName: corpName , corpName2: corpName2} 

相關推薦

.net Ajax後臺一般處理程式(ashx) 互動

    本文主要實現無動態重新整理查詢後臺資料功能,主要用到ajax+ashx+sqlserver進行互動. 首先需要引用Jquery: <script language="javascript" type="text/javascript" src="../js/jquery.js"> h

ASP.Net原理篇 之 一般處理程式(ashx)

在學習asp.net期間 老師反覆告訴我們 千萬不要做只會 “拖控制元件的”ASP.Net程式設計師!!!何為 只會 “拖控制元件的”ASP.Net程式設計師? 當初微軟推出ASP.Net的時候 那個時候VB、delphi等“拖控制元件”式的語言相當的火爆 微軟為了把這些程式設計師全部拉攏過來使用ASP.Ne

.NET一般處理程式(ashx)在Ajax中的使用--下拉列表的動態級連

NET框架中有一個檔案型別是一般處理檔案(.ashx)。可以在ajax開發中作為伺服器端使用。特別是當在請求停留在一個頁面的時候,下面舉個例子--實現html下拉列表的級連更新。 (1)ddlInnerJoin.aspx程式碼: <head runat="server"

.NET一般處理程式(ashx)在Ajax中的使用

NET框架中有一個檔案型別是一般處理檔案(.ashx)。可以在ajax開發中作為伺服器端使用。特別是當在請求停留在一個頁面的時候,下面舉個例子--實現html下拉列表的級連更新。(1)ddlInnerJoin.aspx程式碼:<head runat="server">     <titl

ASP.NET -- 一般處理程式ashx

ASP.NET  --   一般處理程式ashx 如果在一個html頁面向伺服器端請求資料,可用ashx作為後臺頁面處理資料。ashx適合用作資料後臺處理,相當於WebForm中的aspx.cs檔案或aspx.vb檔案。 入門案例:html頁面向ashx頁面請求資料,ashx作為後臺頁

Js中$.ajax呼叫一般處理程式(.ashx)

     $.ajax({                     type: "post",                     url: "/tools/ActApply.ashx",

通過JS獲取前臺資料,並向後臺一般處理程式傳遞

function AddTeachCourse() { //取得教師ID var strTeacherID = $("#hidFieldSaveTeacherID").val(); //alert("教師ID="+txtTeacherID); //取得課程ID var s

一般處理程式ashx的post請求

  ashx可直接獲取HttpContext物件,雖然很靈活,但也導致操作有些許複雜,Content-Type和Request Body與mvc、webapi的不同。js則需要這樣寫 function btnSumit_click() { var da

Jquery EasyUI +Ajax +Json +一般處理程式 實現資料的前臺後臺互動 --- 善良公社專案

經過上一篇部落格,本節主要是來看實現的功能是後臺的資料通過json資料傳過來,前臺修改的資料再傳回資料庫之後頁面再次更新table中的資料;  圖示: 例項:前臺的程式碼 <%--表格顯示區--%> <table id="tt" " ti

ASP.NETASHX一般處理程式中Session為null且不能賦值

首先我解釋一下 ashx檔案以前我們做ajax處理的時候要用常用的web介面處理。 現在不用了,微軟有ashx檔案,這個檔案就是後臺一些處理檔案,用extjs的同學可能會更清楚一點。 如果在這個檔案中用session,會提示失效的,網上找了很久終於找到解決辦法如下 如圖所

JavascriptASP.NET一般處理程式)關於URL(get方式)傳遞中文亂碼問題的解決方案

一、首先,說一下我要實現的功能 根據老師ID、學年、學期,查詢該教師教授的課程資訊。 二、傳遞引數我遇到的問題:     我通過傳遞教師ID、學年和學期從資料庫查詢出該教師所教的課程資訊,展現在介面上,從資料庫我能查詢出資料,為什麼在介面不出資料呢,我斷點除錯,發現這

ashx一般處理程式接收ajax傳回的json字串,並寫入到資料庫

首先將json物件轉為json字串 var aToStr = JSON.stringify(graphicStr);   //json轉字串 然後ajax 通過post請求 $.ajax({                     type: 'post',        

ashx一般處理程式

http://192.168.2.112/AjaxQueryService.ashx/LOGINVALIDATE?username=1&passwordlogin=1   .NET裡面webform的字尾是aspx WCF和WebService的字尾是asmx 然後

使用ashx一般處理程式,讀取不到Session的問題

public class RandomCode : IHttpHandler, System.Web.SessionState.IRequiresSessionState //這裡就是實現的介面     {         public v

JQuery一般處理程式之間傳遞JSON資料

前端 HtmlPage1.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"

asp.net一般處理程式對資料庫的操作

一、新建一個網站,在網站下面新增一個一般處理程式DemoHandler.ashx,程式碼如下: <%@ WebHandler Language="C#" Class="DemoHandler" %> using System; using System.Web; using System

關於C# 使用Xpath路徑(HtmlAgilityPack)對網頁內容查詢獲取的方法。(程式為.ashx一般處理程式)

先貼程式碼: using System; using System.Web; using Newtonsoft.Json; using System.Net; using System.IO; using System.Text; using System.Text.Reg

.net一般處理程式獲取前臺頁面請求方法

前臺頁面多次請求一個後天頁面時要判斷不同請求的不同請求型別。後天頁面可以通過 context.Request.HttpMethod 來判斷前臺頁面發過來的請求型別,判斷是post請求方式之後再利用前臺

BS(三層)增刪改查——一般處理程式ashx)版本

    今天我們學習一下ASP.Net 的增刪改查,這個和以往的CS增刪改查最大的區別就是U層。以往我們學CS的時候都是用的winform窗體,我們可以直接在窗體中新增控制元件。然後針對控制元件的事件屬性進行一系列的操作。到了BS,U層變成了空白的瀏覽器介面,不能直接的拖拉控

C# 一般處理程式後臺傳來引數作為方法Act

private HttpRequest req; private HttpResponse res; private HttpContext ctx;