修改孟子e章的“使用 AJAX,局部刷新 GridView 进行数据绑定的简单实现”两个问题
代码如下:
有两个问题,一个是gridivew里的选取没有作用,linkbtnSales_Click里的alert没有弹出来;
另一个问题很奇怪,整个语句里只有一个textbox控件:ID="txtitemnum",运行的时候在txtitemnum里输入字母页面会出现两个textbox,这也太诡异了吧,稍微贴运行后的源文件
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
string id = Request.QueryString["id"];
if (Request.QueryString["id"] != null)
{
Response.ClearContent();
string sql = "select distinct 成品代码,成品名称 from aaa where 成品代码='" + id + "'";
zs.Open(sql);
GvData.DataSource = zs.m_table;
GvData.DataBind();
zs.Close();
}
}
protected void linkbtnSales_Click(object sender, EventArgs e)
{
string id = (sender as LinkButton).CommandArgument;
Response.Write("<script>alert(id);<"+"/script>");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>使用 AJAX,局部刷新 GridView 进行数据绑定的简单实现</title>
<script type="text/javascript">
function GetData() {
document.getElementById("d").innerHTML = "正在读取数据……";
h = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP");
var id = document.getElementById("<%=txtitemnum.ClientID%>").value;
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);
}
alert("这个提示,只出现在第一次打开页面。");
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txtitemnum" onkeyup="GetData()" runat="server" ></asp:TextBox>
<asp:GridView ID="GvData" runat="server" Width="99%" AutoGenerateColumns="False"
CssClass="gridview" EmptyDataText="没有数据" >
<PagerSettings Visible="False" />
<Columns>
<asp:BoundField HeaderText="成品代码" DataField="成品代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="成品名称" DataField="成品名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:TemplateField HeaderText="选取"><ItemTemp