前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Asp.net利用JQuery弹出层加载数据

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

作者头像
SAP梦心
发布2022-05-10 16:24:19
2.8K0
发布2022-05-10 16:24:19
举报

最近看QQ空间里面的投票功能很使用。点击一个链接就弹出一个层,然后再加载一些投票信息,旁边的区域变成灰色不可用状态。其实这不算什么高深的技术,只要在ASP.NET中利用JQuery结合一般处理程序ASHX即可搞定了。

首先我们新建一个网站,在网站里面新增一般处理程序,命名为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>    ///

        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一会放出。

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

 Demo下载地址:

https://files.cnblogs.com/mengxin523/加载层.rar

PS:有需转载请注明出处,谢谢!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档