下面是我看的例子的一段脚本.但是不知道为什么参数"state"在webform6中始终是空值"",
请各位大侠帮我分析下<script>
function load(state){
//alert(state);在这里是有值的.
var drp2 = document.getElementById("DropDownList2");
for(var i = 0;i<=drp2.options.length -1;i++){
drp2.remove(i);
}
var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
oHttpReq.open("POST", "webform6.aspx?state="+state, false);
oHttpReq.send("");
result = oHttpReq.responseText;
//document.write(result);
oDoc.loadXML(result);
items = oDoc.selectNodes("//CITY/Table");
for (var item = items.nextNode(); item; item = items.nextNode())
{
var city = item.selectSingleNode("city").nodeTypedValue;
var newOption = document.createElement("OPTION");
newOption.text = city;
newOption.value = city;
drp2.options.add(newOption);
}
}
</script>
请各位大侠帮我分析下<script>
function load(state){
//alert(state);在这里是有值的.
var drp2 = document.getElementById("DropDownList2");
for(var i = 0;i<=drp2.options.length -1;i++){
drp2.remove(i);
}
var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
oHttpReq.open("POST", "webform6.aspx?state="+state, false);
oHttpReq.send("");
result = oHttpReq.responseText;
//document.write(result);
oDoc.loadXML(result);
items = oDoc.selectNodes("//CITY/Table");
for (var item = items.nextNode(); item; item = items.nextNode())
{
var city = item.selectSingleNode("city").nodeTypedValue;
var newOption = document.createElement("OPTION");
newOption.text = city;
newOption.value = city;
drp2.options.add(newOption);
}
}
</script>
解决方案 »
- ASP.NET 通过EXCEL把数据导入到SQL SEVER 2000数据库
- 新人求教个字符串处理的算法
- 程序进入页面重新登录问题
- 百分求C# sql版无刷新两级联动代码
- 请高手帮忙,除了IsPostBack之外,还有什么方法让DropDownList控件的项只添加一次(急用!)
- ASPX中类的记录集返回问题
- 找MS的一个dll文件,郁闷,竟然在网上没搜到
- asp.net新手求助:我装上Microsoft .net Framework1.1以后,我以前编的asp网站在本机无法运行,IIs配
- <xmlElement()>是什么意思
- vs2005水晶报表使用视频教程(谁有提供一下)急用
- 补发操作IIS代码,上次人太多
- 新手求指导
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["strconn"]);
SqlDataAdapter da = new SqlDataAdapter("select Address_province from DataBook_Address group by Address_province",con);
DataSet ds = new DataSet();
da.Fill(ds,"TableBind");
this.DropDownList1.DataSource=ds.Tables["TableBind"];
this.DropDownList1.DataTextField = "Address_province";
this.DropDownList1.DataValueField = "Address_province";
this.DropDownList1.DataBind();
this.DropDownList1.Attributes.Add("onchange","load(this.options[this.selectedIndex].innerText)");
}webform6.cs page_load
if(this.Request.QueryString["state"]!=null)
{//**state始终是""
string state = Request.QueryString["state"];
SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["strconn"]);
SqlDataAdapter da = new SqlDataAdapter("select city from DataBook_Address where Address_province = '"+state+"'",con);
DataSet ds = new DataSet("CITY");
da.Fill(ds);
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);
writer.Formatting = Formatting.Indented;
writer.Indentation = 4;
writer.IndentChar = ' ';
ds.WriteXml(writer);
writer.Flush();
Response.End();
writer.Close();
} }
Response.End(); 可能会引发异常。这样导致javascript里面的,取道的result为空。看看 function load(state){ }
里面 result = oHttpReq.responseText;,看看result有没有值
则result可以正常返回.
现在的问题主要是state参数传递到webform6中始终为空.
帮忙分析下参数不能正常传递的原因
oHttpReq.open("POST", "webform6.aspx?state="+state, false);
把那个 url--"webform6.aspx?state="+state
alert出来看看,是否正确。
responseEncoding="gb2312"改成这样
改成
oHttpReq.open("POST", "webform6.aspx?state="+escape(state), false);
lr2651的方法不行,参数传递虽然正常,但是返回值确出问题
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);
改成utf-8
你是说state这个参数webform6.aspx根本接收不到?