只是一个简单的小示例 Html代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="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> <mce:script type="text/javascript"><!-- function post(id) { h = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP"); h.open("GET", '<%=Request.FilePath %>?id=' + id, true); h.onreadystatechange = function () { if (h.readyState == 4) { if (h.status >= 200 && h.status < 300) { document.getElementById("d").innerHTML = h.responseText; } else { document.getElementById("d").innerHTML = "<h2>数据操作错误:</h2>" + h.responseText; } } } h.send(null); } // --></mce:script> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" onrowdatabound="GridView1_RowDataBound"> </asp:GridView> <asp:GridView ID="GridView2" runat="server" > </asp:GridView> <div id="d"></div> </form> </body> </html> 后台代码 using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = new DataTable(); object[] arr = { 1, 2, 3 }; DataColumn[] dc={new DataColumn("id1"),new DataColumn("id2"),new DataColumn("ID3")}; dt.Columns.AddRange(dc); dt.Rows.Add(arr); object[] arr1 = { 4, 5, 6 }; dt.Rows.Add(arr1); GridView1.DataSource = dt; GridView1.DataBind(); } if (Request.QueryString["id"] != null) { //清除缓冲区内缓存 Response.ClearContent(); //获取url返回的参数 string str = Request.QueryString["id"].ToString(); DataTable dt = new DataTable(); object[] arr = { str, 2, 3 }; DataColumn[] dc = { new DataColumn("id1"), new DataColumn("id2"), new DataColumn("ID3") }; dt.Columns.AddRange(dc); dt.Rows.Add(arr); object[] arr1 = { str, 5, 6 }; dt.Rows.Add(arr1); GridView2.DataSource = dt; GridView2.DataBind(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.IO.StringWriter sw = new System.IO.StringWriter(sb); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView2.RenderControl(htw); Response.Write(sb.ToString()); Response.End(); } } //防止GridView必须放入runat=“server”窗体中的错误 public override void VerifyRenderingInServerForm(Control control) { } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //鼠标移动到行上时样式变手型 e.Row.Attributes["style"] = "Cursor:hand"; //获取行数 int countR = GridView1.Rows.Count; //获取列数 int countC = ((DataTable)GridView1.DataSource).Columns.Count; //循环为每个表格添加属性 for (int j = 0; j < countR; j++) { for (int i = 0; i < countC; i++) { //鼠标移到表格时表的背景颜色 GridView1.Rows[j].Cells[i].Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='blue'"); //鼠标移出表格时背景颜色返回原来颜色 GridView1.Rows[j].Cells[i].Attributes.Add("onmouseout", "this.style.backgroundColor=c"); //给表格添加onclick事件调用javascript中的post函数并将当前表格的内容传送给post GridView1.Rows[j].Cells[i].Attributes.Add("onclick", "javascript:post('"+GridView1.Rows[j].Cells[i].Text.ToString()+"')"); } } } }