前台页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web._Default" %>
<html>
<head runat="server">
<title>弹出明细的div效果</title>
<script src="jquery-1.3.2.js" type="text/javascript"></script>
<style type="text/css">
table tr td
{
padding: 10px;
}
</style>
<script type="text/javascript">
$(function() {
$("#GridView1 tr td").click(function() {
//获取点击的文本
var val = $(this).text();
var before_val = $(this).prev("td");//获取点击的单元格当前行的前一列
alert("前一列值:" + before_val.text());//获取前一列值
//**************************BEGIN****************************
var index = $(this)[0].cellIndex; //点击单元格的当前列index
var head_text = $("#GridView1 tr th:eq(" + index + ")").text(); //表头的列头内容
alert("所在列名:"+head_text);//这里就是表头内容,你点击那个单元格所在列的列表头(比如我这里的测试数据表头有:id、name、age)
//**********************END**********************************
//清空提示的div
$("#tips").remove();
//获取div距离左边值
var left = $(this).offset().left + 10;
//获取div距离顶端的值
var top = $(this).offset().top + 25;
//动态创建div,并添加到body里
$("body").append(create_div(left, top));
//添加拖动事件
drag_div("tips");
//a标签的关闭事件
$("#tips a").click(function() {
//$("#tips").fadeOut("slow");//有效果的关闭
$("#tips").remove(); //没效果的关闭
});
//异步请求
$.ajax({
type: "POST",
url: "DataRespones.ashx", //将后台操作放在此文件里
data: "name=" + val,//这里是传递到后台的参数,格式为:key=value 有多个参数就用&隔开,如何前台获取到的数值你不能传到后台,那我无语了。
beforeSend: function() {
$("#tips").append("<span id='s' style='font-size:12px;'>请稍后……</span>"); //增加超时后提示
},
success: function(msg) {
$("span").remove();
$("#tips").append("<span>通过异步请求返回的值:</span><span style='color:red;'>" + msg + "</span>");
},
complete: function() {
$("#tips #s").remove();
}
});
});
});
//拖动div
function drag_div(id) {
var _move, _x, _y;
$("#" + id).mousedown(function(e) {
_move = true;
_x = e.pageX - parseInt($("#" + id).css("left"));
_y = e.pageY - parseInt($("#" + id).css("top"));
$("#" + id).fadeTo(20, 0.25); //点击后开始拖动并透明显示
});
$(document).mousemove(function(e) {
$("#" + id).css("cursor", "move");
if (_move) {
var x = e.pageX - _x; //移动时根据鼠标位置计算控件左上角的绝对位置
var y = e.pageY - _y;
$("#" + id).css({ top: y, left: x }); //控件新位置
}
}).mouseup(function() {
$("#" + id).css("cursor", "default");
_move = false;
$("#" + id).fadeTo("fast", 1); //松开鼠标后停止移动并恢复成不透明
});
}
//创建提示div
function create_div(left, top) {
var html = "<div id='tips' style='left:" + left + "px;top:" + top + "px;width:120px;height:100px;font-size:12px; padding:5px; border:1px solid #9ECD2A;position:absolute;background:#EDECE1;'><a href='javascript:void(0)'>关闭</a><br/><br/></div>";
return html;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" Width="200" Height="50" HorizontalAlign="Center"
RowStyle-HorizontalAlign="Center">
</asp:GridView>
</div>
</form>
</body>
</html>
后台ashx代码:
using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Threading;
namespace Web
{
public class DataRespones : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string result = string.Empty;
string name=context.Request["name"];//从前台发送过来的值
result = SimulationDataBase(name);//将获取到的值再去查数据库,将查询的值以字符串形式返回给前台。
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
/// 模拟操作数据库(根据你的实际情况将数据库操作放在此处操作,或以同样的方式自己创建一个方法)
/// </summary>
/// <param name="name">前台传过来的值</param>
/// <returns>返回给前台用的字符串</returns>
private string SimulationDataBase(string name)
{
string temp = string.Empty;
switch (name)
{
case "张三":
temp= "好好学习";
Thread.Sleep(2000);//人为手工模拟超时延迟。前台会出现"请稍后……"字样
break;
case "王五":
temp = "天天向上";
break;
default:
temp = "没有可查询的数据";
break;
}
return temp;
}
}
}
完整的项目代码以下:
分享到:
相关推荐
总结起来,通过结合使用jQuery和Ajax,我们可以实现在不刷新页面的情况下,动态加载并显示GridView控件的详细内容。这种做法提高了网页的响应速度,提升了用户的使用体验。在实际项目中,还可以根据需求进一步优化,...
在ASP.NET环境中,jQuery与AJAX的结合使用可以创建出高效、动态的用户界面,而GridView控件则是展示数据的常用工具。在这个示例中,我们看到如何通过jQuery的AJAX请求获取数据,并将结果填充到GridView中,同时提供...
两个视图分别用两个Div包裹,控制div的显示隐藏即可以切换视图了 3、树控件 支持静态的树,即一次性将全部数据加载到客户端。 异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 Checkbox树...
7. **Ajax交互**:如果需要将评分提交到服务器,可以使用JQuery的`$.ajax()`函数发送异步请求,将评分数据传输到后台。 在实际的项目中,可能会用到一些现成的插件,如`rateYo`或`jQuery Star Rating Plugin`,它们...
4. GridView控件:在ASP.NET Web Forms中,GridView常用于显示和编辑数据,如新闻列表。后台可以通过代码绑定新闻数据源,前台用户可以直接查看和操作新闻。 5. CSS布局:利用CSS实现响应式设计,使新闻页面适应...
每次请求备份管理页面时,服务端会把所以的备份还原信息都传到客户端,然后ui.tabs将两种信息折叠起来分别显示,好在ui.tabs给我提供ajax功能,我们的每个tab可以直接应用另外一个页面 如: 代码如下: <div id=”...
这些控件如TextBox、Button、GridView等,能够处理用户输入,进行数据验证,并与数据库进行交互,大大简化了网页开发过程。 其次,CSS在项目中的作用是控制页面的样式和布局。通过定义类选择器、ID选择器等,开发者...
在此方法中,处理业务逻辑并返回更新后的数据,通常是以JSON格式。 5. **处理响应**: 当服务器返回响应时,JavaScript需要捕获这个响应,并将更新的数据应用到前端的DOM元素上。可以使用`$.parseJSON()`解析JSON...
在ASP.NET开发中,GridView控件是一个非常常用的数据展示组件,尤其在处理表格数据时。本文将详细讨论如何实现一个名为“ScrollGridView”的功能,它包括固定表头、冻结列和固定列,以提供更好的用户体验。 一、...
在这个项目中,我们将使用jQuery来处理用户的交互,比如点击按钮进行排序,以及异步加载更多数据。Ajax技术允许我们在不刷新整个页面的情况下更新网格内容,提升用户体验。 在实现过程中,`Create-a-div-based-grid...
在事件处理函数中,我们可以检查每一行的类型,如果它是数据行(`DataControlRowType.DataRow`),则可以为删除按钮添加点击事件处理程序,显示一个JavaScript确认对话框。 以下是一个示例: ```csharp protected ...
在.NET开发环境中,引入JQGrid并结合Bootstrap可以创建出美观且功能强大的数据展示和管理界面。JQGrid是一款基于jQuery的开源JavaScript组件,用于在网页上动态展示和操作表格数据,而Bootstrap则是一个流行的前端...
通过DWZ的事件机制,可以在jqGrid的某些操作(如点击行、点击按钮)时触发相应的行为,实现复杂的功能。 总结,jqGrid与DWZ框架的整合能为Web应用带来高效的数据管理和用户友好的界面。通过理解两者的基本用法和...
两个视图分别用两个Div包裹,控制div的显示隐藏即可以切换视图了 3、树控件 支持静态的树,即一次性将全部数据加载到客户端。 异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 Checkbox树(可能是...
当用户触发事件(如按钮点击)时,这些函数会发送请求到PHP脚本,脚本处理数据并返回结果。例如: ```javascript $('#myButton').click(function() { $.ajax({ url: 'update_data.php', type: 'POST', data: ...