求助,如何解决这个问题!
在学校刚开始学着做东西,要做b/s的一个查询,想实现在GridView中点击任意一行可以弹出一个div,在div中显示选中行的用户详细信息,比如GridView1显示用户名等基本信息和他的记录总数,点击后传GridView1的绑定值DataKeys,用DataKeys作详细信息的查询,显示该用户细致的记录信息:
//form.aspx.cs
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "c=style.backgroundColor;style.backgroundColor='#00A9FF'");
e.Row.Attributes.Add("onmouseout", "style.backgroundColor=c");
e.Row.Attributes.Add("onclick", "javascript:open('" + value + "');");");
}
}
//form.aspx
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
function open(value) {
if (View1.style.visibility == 'visible') {
View1.style.visibility = 'hidden'
}
else {
View1.style.visibility = 'visible';
View1.style.top = event.clientY;
View1.style.left = event.clientX;
$.ajax({
type: "post",
url: "form1.aspx",
data: "id=" + value,
dataType: "text",
success: function (msg) {
$("div#View1").html(msg);
}
});
}
}
</script>
//form1.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Params.Get["id"] != null)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bsrunconnstring"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("-—省略—- where userID ='" + Request.Params.Get["id"].ToString() + "'", conn);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();
GVdata.DataSource = da;
GVdata.DataBind();
}
}
function open(value) {
if (View1.style.visibility == 'visible') {
View1.style.visibility = 'hidden'
}
else {
View1.style.visibility = 'visible';
View1.style.top = event.clientY;
View1.style.left = event.clientX;
$.ajax({
type: "post",
url: "form1.aspx",
data: "id=" + value,
dataType: "text",
error:function(xhr){alert('动态页面出问题\n\n'+xhr.responseText)},////////
success: function (msg) {
$("div#View1").html(msg);
}
});
}
}
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
var xhr;
function createXHR() {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ee) {
xhr = false;
}
}
} else if (window.XMLHttpRequest) {// 在非IE浏览器中创建XMLHttpRequest对象
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = false;
}
}
}
function reg() {
var form1 = document.getElementById("form1"),
d1= form1.userName.value,
d2= form1.pwd.value,
d3= form1.email.value;
createXHR();
xhr.open("POST", "registerin.jsp", true);
xhr.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
xhr.send("name=" + d1 + "&password=" + d2 + "&email=" + d3);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var data = xhr.responseText;
var pNode = document.getElementById("ce");
pNode.innerHTML = data;
}
};
}
</script>
</head>
<body>
<form onsubmit="reg(this);return false;" id="form1">
用户名:<INPUT type="text" name="userName" />
<br /> 密 码:<INPUT type="password" name="pwd" />
<br /> 邮 件:<INPUT type="text" name="email" />
<br /><INPUT type="submit" value="注册" />
</form>
<div id="ce"></div>
</body>
</html>