大致就是这样: 定义了一个文本框输入"标题",另一个输入具体的"内容",然后有一个分类(下拉列表表示,其绑定到数据库的某一字段,设置其id比如为Name,但每个下拉列表选项在数据库里另一个字段里,对应的有相应的具体内容),
现在我们要做的是,用一个表格把用户新添加的"标题"和"内容"立即显示到页面中,同时包括对应选择的下拉列表Name的选择的值,以及每一个值在数据库中相对应的具体的内容。
其实显示Name的值很容易,但根据Name的值 异步取出取出数据库的内容时,会出现多余的html代码, 我已经用response.end()了,对应的HTML和Asp.net页面代码是
HTML:
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
var url = "valData.aspx?Name="+escape((Name.value));
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = showData;
xmlHttp.send(null);
/
.......
/
function showData() {
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var response = xmlHttp.responseText;
//var Name=document.getElementById("td0");
Name.innerText+=response;
}
else alert("Error: " + xmlHttp.status);
}
}
Asp.net页面:
...........
全局变量区
...........
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
sqlCon.Open()
Dim Name As String = Request("Name")
comStr = "Select Contents from Category where Name = '" & Name & "' "
sqlCom.CommandText = comStr
drA = sqlCom.ExecuteReader()
drA.Read()
If drA.HasRows Then
Response.Write(drA.Item(0))
Response.End()
Else
Response.Write("对不起,您没有添加内容!")
Response.End()
End If
drA.Close()
End If
End sub
我原本想的是定义一个全局变量i,表格没增加一行,就+1,然后设置单元格的ID为"td"+i
但传i到 showData(i)中时,系统提示
function showData(i) (传入参数系统提示错误!)
那么我们如何得知把得到的var response = xmlHttp.responseText; 具体传入到那一个表格的那一行,那一个单元格呢?
没办法,我试着用上面 //var Name=document.getElementById("td0"); 先把取得的数据填充到第一个单元格,结果第一行是从数据库得到的数据没错,但下面一大堆HTML代码,我在上面Asp.net页面中用 Response.End()还是不行!
求大家无比帮帮忙,非常急!!!
8 个解决方案
#1
结果第一行是从数据库得到的数据没错,但下面一大堆HTML代码,我在上面Asp.net页面中用 Response.End()还是不行
________________________________________
比如你请求的是x.aspx,把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
________________________________________
比如你请求的是x.aspx,把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
#2
555 我都试过了,还是有,我快郁闷死了!
#3
var response = xmlHttp.responseText;
_______________________________________
response的值是什么?
_______________________________________
response的值是什么?
#4
是异步取回的数据
#5
异步取回的数据也是数据,当然也可以看得到;比如你把这个值赋给某个文本区
<textarea id="TextArea1" cols="20" rows="2"></textarea>,如document.getElementById('TextArea1').value =xmlHttp.responseText;
好了,回家了。
<textarea id="TextArea1" cols="20" rows="2"></textarea>,如document.getElementById('TextArea1').value =xmlHttp.responseText;
好了,回家了。
#6
把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
是真理。
是真理。
#7
去了啊,兄弟们~
我用alert显示,发现还有啊,哎
我用alert显示,发现还有啊,哎
#8
如果不知道怎么解决的话可以转变思想,如生成xml然后从客户端进行解析也是一样的啊。
#1
结果第一行是从数据库得到的数据没错,但下面一大堆HTML代码,我在上面Asp.net页面中用 Response.End()还是不行
________________________________________
比如你请求的是x.aspx,把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
________________________________________
比如你请求的是x.aspx,把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
#2
555 我都试过了,还是有,我快郁闷死了!
#3
var response = xmlHttp.responseText;
_______________________________________
response的值是什么?
_______________________________________
response的值是什么?
#4
是异步取回的数据
#5
异步取回的数据也是数据,当然也可以看得到;比如你把这个值赋给某个文本区
<textarea id="TextArea1" cols="20" rows="2"></textarea>,如document.getElementById('TextArea1').value =xmlHttp.responseText;
好了,回家了。
<textarea id="TextArea1" cols="20" rows="2"></textarea>,如document.getElementById('TextArea1').value =xmlHttp.responseText;
好了,回家了。
#6
把x.aspx中除<% page ...%>之外的其他代码全部去掉,这样就不会有一大堆HTML代码了。
是真理。
是真理。
#7
去了啊,兄弟们~
我用alert显示,发现还有啊,哎
我用alert显示,发现还有啊,哎
#8
如果不知道怎么解决的话可以转变思想,如生成xml然后从客户端进行解析也是一样的啊。