null 为空或不是对象

hundun2 2009-09-27 05:54:41
在ascx中用ajax代码实现级联报错。相关代码如下。总是报'1'为空或不是对象。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!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 runat="server">
<title>无标题页</title>
<%

string customer_Id = Request.QueryString["Customer_Id"];
if (customer_Id + "a" != "a")
{
SqlConnection con = new SqlConnection(@"Data Source=WWW-80GNBAS5W9O\sqlexpress;Initial Catalog=7tiao;Persist Security Info=True;User ID=sa;password=111111");
con.Open();
string sql = "select * from city where proID = " + Convert.ToInt32(customer_Id);
SqlCommand cmd = new SqlCommand(sql,con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
// 将取得的值开成"ID|名称,ID|名称,..."这样的形式
string str = "";
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
str += string.Format("{0}|{1},", dt.Rows[i][0].ToString().Trim(), dt.Rows[i][1].ToString().Trim());
}
str = str.Substring(1);
}

// 输出页面
Response.Write(str);
}
%>

<script type="text/javascript">
// 以XML求取数据
// 参数:
// obj:当前动作的下拉框
// fullName:要填充的下拉框
function XmlPost(obj, fullNme) {
// 求取当前下拉框的值
var svalue = obj.value;
// 定义要填充的对象
var fullObj = document.all(fullNme);
//定义取值地址
var webFileUrl = "?Customer_Id=" + svalue;

// 定义返回值
var result = "";

// 取始取值过程
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;

// 如果有取到值, 则根据格式进行拆分
// 注意如果选择了第一行"请选择"空行时,是取不取值的, 因此多加了一个条件
if (result != "" && svalue != "") {
// 先清空原有的值
fullObj.length = 0;
// 拆分值成数组
var piArray = result.split(",");

// 循环数组
for (var i = 0; i < piArray.length; i++) {
// 再拆分成ID及名称
var ary1 = piArray[i].toString().split("|");
// 逐一添加项
fullObj.options.add(new Option(ary1[1].toString(), ary1[0].toString()));
}
}
else {
// 如果没有取到值, 则清空要填充的下拉框的值
fullObj.length = 0;
fullObj.options.add(new Option("---请选择---", "-1"));
}

}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" onchange="XmlPost(this,'DropDownList2')">

<asp:ListItem Value="1">北京市</asp:ListItem>
<asp:ListItem Value="2">天津市</asp:ListItem>
<asp:ListItem Value="3">上海市</asp:ListItem>
<asp:ListItem Value="4">重庆市</asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>市  <asp:DropDownList ID="DropDownList3" runat="server">
</asp:DropDownList>店</div>
</form>
</body>
</html>
...全文
754 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧