Asp.net利用JQuery弹出层加载数据代码

  首先我们新建一个网站,在网站里面新增一般处理程序,命名为ReadData.ashx。然后在里面输入如下代码:

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.Services;

  using System.Data.SqlClient; //引入命名空间

  using System.Data;

  namespace 加载层

  {

  /// <summary>

  /// $codebehindclassname$ 的摘要说明

  /// </summary>

  [WebService(Namespace = "http://tempuri.org/")]

  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

  public class ReadData : IHttpHandler

  {

  public void ProcessRequest(HttpContext context)

  {

  //context.Response.ContentType = "text/plain";

  //context.Response.Write("Hello World");

  //获取外部传进来的变量值i

  int i = Int32.Parse(context.Request.QueryString["i"]);

  //连接数据库

  SqlConnection con = new SqlConnection("data source=.;user id=sa;pwd=5239898;database=librarydatabase;");

  con.Open();

  SqlDataAdapter ada = new SqlDataAdapter("select * from reader where 序号='" + i + "'", con);

  SqlCommandBuilder com = new SqlCommandBuilder(ada);

  DataSet ds = new DataSet();

  ada.Fill(ds, "reader");

  con.Close();

  //读取表中栏位为“姓名”的字段值,并传出

  context.Response.Write(ds.Tables["reader"].Rows[0]["姓名"].ToString());

  }

  public bool IsReusable

  {

  get

  {

  return false;

  }

  }

  }

  }

  然后我们需要新建一个JavaScript文件,命名为loaddata.js。输入如下代码:

  

复制代码 代码如下:

  /*当DOM加载完毕之后就自动为两个链接添加Click事件*/

  $("document").ready(function() {

  $("a[href=javascript]").click(function() {

  chkform();

  return false;

  })

  $("a[href=test]").click(function() {

  $("#load").css("display", "none");

  $("#mark").css("display", "none");

  return false;

  })

  });

  var chkform = function() {

  new Request({

  /*调用一般处理程序进行后台抓取数据并返回txt变量*/

  url: 'ReadData.ashx?i=' + $("#Text1").attr("value"),

  /*抓取数据成功之后*/

  onSuccess: function(txt) {

  $("#load").append("<P>" + txt + "</P>");

  $("#load").css("display", "block");

  $("#mark").css("display", "block");

  },

  /*正在抓取*/

  onRequest: function() {

  $("#load").append("<P>正在加载</P>");

  },

  /*数据加载失败*/

  onFailure: function() {

  alert('信息加载失败!');

  }

  }).send();

  }

  还没完,我们还要新增一个CSS文件,命名为main.css,深入如下样式:

  

复制代码 代码如下:

  #mark{

  width: 100%;

  background-color:White;

  position:absolute;

  left: 0px;

  top: 0px;

  height: 700px;

  filter:alpha(opacity=70);

  -moz-opacity:70;

  opacity:70;

  z-index:2;

  display:none;

  }

  #load

  {

  background-color:Gray;

  border: 1px solid #999;

  font-size: 12px;

  position:relative;

  margin:0 auto;

  margin-top:100px;

  width:200px;

  height:150px;

  z-index:99;

  display:none;

  }

  我们在网站的首页里面源码输入如下代码:

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="加载层._Default" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">

  <title>加载层</title>

  <link type="text/css" href="main.css" rel="Stylesheet" />

  <script type="text/javascript" src="mootools.js"></script> //记得引入这个javascript库文件

  <script type="text/javascript" src="jquery-1.3.1-vsdoc.js"></script> //VS支持智能提示的文件,可有可无

  <script type="text/javascript" src="jquery-1.3.1.js"></script> //记得引入JQuery

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

  </head>

  <body>

  <div id="me">

  <a href="javascript">点击加载</a>

  <input id="Text1" type="text" /></div>

  <div id="load">

  load <a href="test">试试</a>

  </div>

  <div id="mark">

  </div>

  </body>

  </html>

  至此完成了我们要的效果。

  效果图及DEMO一会放出。

Asp.net利用JQuery弹出层加载数据代码

  看上面的链接以及文本框都处于“灰色”状态,不可编辑。点击中间弹出层的链接可以回到最初状态。整个过程中页面都没有刷新!

  Demo下载地址: http://xiazai.glzy8.com/200911/yuanma/asp.net_jquery_jiazaiceng.rar