level 1
小柱子七珠
楼主
我用的是一般处理程序,页面第一次加载成功了。可是第二加载,数据取了出来,却无法显示。
代码:
string id = context.Request["id"];//界面传下的参数
if (id == null)
{//查询root,第一次加载》》已成功显示
string simpleTreeNodes = "[";
DataTable dt = BLLSyss.CreateInstance().GetStructRoot();
//获取跟节点
foreach (DataRow dr in dt.Rows)
{
stru.Parent = dr["id"].ToString();
string retparent;
DataTable childrendt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);
if (childrendt.Rows.Count > 0)
retparent = "true";
else
retparent = "false";
string node = string.Format("{{ \"id\":{0}, \"pid\":{1}, \"name\":\"{2}\",\"isParent\":{3}}}", dr["id"].ToString(), dr["parentid"].ToString(), dr["name"].ToString(), retparent);
simpleTreeNodes += node + ",";
}
int leg = simpleTreeNodes.Length;
simpleTreeNodes = simpleTreeNodes.Substring(0, leg - 1) + "]";
context.Response.Write(simpleTreeNodes);
}
else
{//获取子节点数据
stru.Parent = id;
DataTable strdt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);
string simpleTreeNodes = "[";
foreach (DataRow dr in strdt.Rows)
{
stru.Parent = dr["id"].ToString();
string retparent;
DataTable childrendt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);//获取dr["id"].ToString()是否存在子节点
if (childrendt.Rows.Count > 0)//存在
retparent = "true";
else//不存在时
retparent = "false";
string node = string.Format("{{ \"id\":{0}, \"pid\":{1}, \"name\":\"{2}\",\"isParent\":{3}}}", dr["id"].ToString(), id, dr["name"].ToString(), retparent);
//跟踪调试,发现错误出现在:node后面的“dr["id"].ToString()”???我也不知道具体怎么回事,但下面的数据却能成功取出。格式也正确。郁闷
simpleTreeNodes += node + ",";
}
int leg = simpleTreeNodes.Length;
simpleTreeNodes = simpleTreeNodes.Substring(0, leg - 1) + "]";//数据成功取出
context.Response.Write(simpleTreeNodes);
2012年04月28日 02点04分
1
代码:
string id = context.Request["id"];//界面传下的参数
if (id == null)
{//查询root,第一次加载》》已成功显示
string simpleTreeNodes = "[";
DataTable dt = BLLSyss.CreateInstance().GetStructRoot();
//获取跟节点
foreach (DataRow dr in dt.Rows)
{
stru.Parent = dr["id"].ToString();
string retparent;
DataTable childrendt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);
if (childrendt.Rows.Count > 0)
retparent = "true";
else
retparent = "false";
string node = string.Format("{{ \"id\":{0}, \"pid\":{1}, \"name\":\"{2}\",\"isParent\":{3}}}", dr["id"].ToString(), dr["parentid"].ToString(), dr["name"].ToString(), retparent);
simpleTreeNodes += node + ",";
}
int leg = simpleTreeNodes.Length;
simpleTreeNodes = simpleTreeNodes.Substring(0, leg - 1) + "]";
context.Response.Write(simpleTreeNodes);
}
else
{//获取子节点数据
stru.Parent = id;
DataTable strdt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);
string simpleTreeNodes = "[";
foreach (DataRow dr in strdt.Rows)
{
stru.Parent = dr["id"].ToString();
string retparent;
DataTable childrendt = BLLSyss.CreateInstance().GetStruct_ByParentid(stru);//获取dr["id"].ToString()是否存在子节点
if (childrendt.Rows.Count > 0)//存在
retparent = "true";
else//不存在时
retparent = "false";
string node = string.Format("{{ \"id\":{0}, \"pid\":{1}, \"name\":\"{2}\",\"isParent\":{3}}}", dr["id"].ToString(), id, dr["name"].ToString(), retparent);
//跟踪调试,发现错误出现在:node后面的“dr["id"].ToString()”???我也不知道具体怎么回事,但下面的数据却能成功取出。格式也正确。郁闷
simpleTreeNodes += node + ",";
}
int leg = simpleTreeNodes.Length;
simpleTreeNodes = simpleTreeNodes.Substring(0, leg - 1) + "]";//数据成功取出
context.Response.Write(simpleTreeNodes);