本文主要实现无动态刷新查询后台数据功能,主要用到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 =@CorpName order by CorpName";
SqlParameter[] par = new SqlParameter[];
par[] = new SqlParameter("@CorpName", corpName);
DataSet ds = DBHerpler.Load(sql, par);
string json = SerializerHelper.ToJsonString(ds.Tables[]);    //返回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) 交互的更多相关文章

  1. Jquery ajax调用后台aspx后台文件方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下 ...

  2. jQuery Ajax无刷新操作一般处理程序 ashx

    //前台实例代码 aspx文件 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser ...

  3. Spring Mvc模式下Jquery Ajax 与后台交互操作

    1.基本代码 1)后台控制器基本代码 @Controller @RequestMapping("/user") public class UserController { @Aut ...

  4. ajax简单后台交互

    ajax简单后台交互 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘,让你每每 ...

  5. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  6. 通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/

      前  言  PHP     通过上一篇博客,注册账号与登录页面--前后台数据交互  跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下 ...

  7. 前后端通信中使用Ajax与后台接口api交互(以登录功能为例)

    一.查阅开发文档 首先,要做这个功能前,我们必须先查阅后台接口文档,了解使用登录接口时,需要提交哪些参数,并且接口使用返回的数据. 这里我使用了一个返回json格式数据的登录接口为例,讲解怎么使用Aj ...

  8. ajax配合一般处理程序(.ashx)登录的一般写法

    前端: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> ...

  9. ajax简单后台交互-我们到底能走多远系列(28)

    我们到底能走多远系列(28) 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘, ...

随机推荐

  1. Unity 3D Framework Designing(7)——IoC工厂理念先行

    一谈到 『IoC』,有经验的程序员马上会联想到控制反转,将创建对象的责任反转给工厂.IoC是依赖注入 『DI』 的核心,大名鼎鼎的Spring框架就是一个非常卓越的的控制反转.依赖注入框架.遗憾的是, ...

  2. 安全性测试之防范 DDoS 攻击

    安全性测试之防范 DDoS 攻击   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:90882 ...

  3. 老李分享:Mac快捷键

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  4. 以正确的姿势实现一棵JavaScript菜单树

    菜单树是常见的前端特效, 一般长下面这样 还有各种形态的变种, 有长这样的 也有长这样的 尽管这些菜单的相貌都不尽相同, 在功能实现的本质上却都是相同的.实现程序的大致流程如下 读取服务器端的菜单数据 ...

  5. EasyUi基础学习(一)—基本组件(上)

    一.概述      jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复 ...

  6. VS窗体选择BackGroupImage属性报错:已添加具有相同键的项

    高墙我今天第一次遇见这个问题.既然说是"已添加具有相同键的项."那我自然地认为会不会是文件夹哪里命名了两个相同的文件名.然后在这个Exception上越走越远. 好了不说废话.出现 ...

  7. POI框架实现创建Excel表、添加数据、读取数据

    public class TestPOI2Excel {//创建2003版本Excel用此方法 @Test public void testWrite03Excel() throws Exceptio ...

  8. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  9. ABPZero中的Name和SurName处理

    使用ABPzero的朋友们都知道,User表中有Name和Surname两个字段,这两个字段对于国内的用户来说相当的不友好. 我们在尝试了很多的方法之后,发现无法完美将他们干掉. 所以尝试使用了一个比 ...

  10. java异常处理机制(try-catch-finally)

    /* * 异常处理机制 * 1.分类:Error和Exception * Error错误是JVM自动报错的,程序员无法解决例如开数组过大int a[]=new int [1024*1024*1024] ...