Asp.net利用JQuery彈出層載入資料代碼

來源:互聯網
上載者:User

首先我們建立一個網站,在網站裡面新增一般處理常式,命名為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一會放出。

看上面的連結以及文字框都處於“灰色”狀態,不可編輯。點擊中間彈出層的連結可以回到最初狀態。整個過程中頁面都沒有重新整理!

Demo: http://xiazai.jb51.net/200911/yuanma/asp.net_jquery_jiazaiceng.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.