代码如下:有两个问题,一个是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="选取"><ItemTemplate><asp:LinkButton ID="linkbtnSales" CommandArgument='<%#Eval("成品代码")+"|"+Eval("成品名称")%>' runat="server" OnClick="linkbtnSales_Click" ForeColor="Red">选取</asp:LinkButton></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
</Columns>
<RowStyle Height="25px" />
<EmptyDataRowStyle ForeColor="Red" HorizontalAlign="Center" />
</asp:GridView>
</form>
<div id="d"></div>
</body>
</html>
以下是编译后,在页面上查看源文件得到的信息:
请各位大侠帮忙看看这是怎么回事啊。
<!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 id="Head1"><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").value;
h.open("GET", '/Default2.aspx?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 name="form1" method="post" action="Default2.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTIwMDc1MDIyNA9kFgICBA9kFgICAw88KwARAQEQFgAWABYAZBgBBQZHdkRhdGEPZ2Sg5y1OhV1KqPNgC2h+1aFt7hbm5a7uMz4QvSomw5H/rw==" />
</div><div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKW04b0AwLS5pKnCH62TDczY1HGDVGqYbAC3Q1U78XgFvI/ISmH90/VeAr/" />
</div>
<input name="txtitemnum" type="text" id="txtitemnum" onkeyup="GetData()" />
<div></div>
</form>
<div id="d"></div>
</body>
</html>
另一个问题很奇怪,整个语句里只有一个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="选取"><ItemTemplate><asp:LinkButton ID="linkbtnSales" CommandArgument='<%#Eval("成品代码")+"|"+Eval("成品名称")%>' runat="server" OnClick="linkbtnSales_Click" ForeColor="Red">选取</asp:LinkButton></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
</Columns>
<RowStyle Height="25px" />
<EmptyDataRowStyle ForeColor="Red" HorizontalAlign="Center" />
</asp:GridView>
</form>
<div id="d"></div>
</body>
</html>
以下是编译后,在页面上查看源文件得到的信息:
请各位大侠帮忙看看这是怎么回事啊。
<!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 id="Head1"><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").value;
h.open("GET", '/Default2.aspx?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 name="form1" method="post" action="Default2.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTIwMDc1MDIyNA9kFgICBA9kFgICAw88KwARAQEQFgAWABYAZBgBBQZHdkRhdGEPZ2Sg5y1OhV1KqPNgC2h+1aFt7hbm5a7uMz4QvSomw5H/rw==" />
</div><div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKW04b0AwLS5pKnCH62TDczY1HGDVGqYbAC3Q1U78XgFvI/ISmH90/VeAr/" />
</div>
<input name="txtitemnum" type="text" id="txtitemnum" onkeyup="GetData()" />
<div></div>
</form>
<div id="d"></div>
</body>
</html>
解决方案 »
- ASP.NET中webconfig.cs怎么配置
- SQL语句包含html标签报错
- 页面共享数据可不可以如此
- 请教一下获取焦点问题
- 菜鸟提问:新建一个类项目后,using System.Data.OracleClient这个命名空间,系统报不认识,为什么?
- 一个很奇怪的问题 高手来看看那
- 服务端怎样发送小段数据到客户端
- ArrayList 无法在 ViewState中保存。
- 从客户端读数据用Request.Form["inputtype"].ToString();可以吗
- 为什么查询上级父目录中的数据库使用string MyConnString = "Provider=M
- WebService为何找不到Begin、End方法????
- 无法将类型“Maticsoft.Model.Login”隐式转换为“WebAppDL.admin.Login
一旦在txtitemnum里输入任意字符,会在txtitemnum的下方再出现一个textbox控件,gridview里因为有数据了,所以也显示出来了ps,这里怎么贴图啊?
linkbtnSales这个是gridview里的一个linkbutton·没有AUTOPOSTBACK属性啊