首先我们新建一个网站,在网站里面新增一般处理程序,命名为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=http://www.jb51.net/article/javascript]").click(function() { chkform(); return false; }) $("a[href=http://www.jb51.net/article/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="http://www.jb51.net/article/main.css" />
<script type="text/javascript" src="http://www.jb51.net/article/mootools.js"></script> //记得引入这个javascript库文件
<script type="text/javascript" src="http://www.jb51.net/article/jquery-1.3.1-vsdoc.js"></script> //VS支持智能提示的文件,可有可无
<script type="text/javascript" src="http://www.jb51.net/article/jquery-1.3.1.js"></script> //记得引入JQuery
<script type="text/javascript" src="http://www.jb51.net/article/loaddata.js"></script>
</head> <body> <div> <a href="http://www.jb51.net/article/javascript">点击加载</a> <input type="text" /></div> <div> load <a href="http://www.jb51.net/article/test">试试</a> </div> <div> </div> </body> </html>
至此完成了我们要的效果。 效果图及DEMO一会放出。

看上面的链接以及文本框都处于“灰色”状态,不可编辑。点击中间弹出层的链接可以回到最初状态。整个过程中页面都没有刷新!
Demo下载地址: (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|