treeview 点击出错。

ziyeage 2011-04-26 11:14:35
建立了一个treeview,后台绑定数据库,在本机,ie8.0,vs2008环境下,运行正常。
但上传到服务器,并用IE6.0打开后,树存在,但点击节点出现问题。一但点击节点,就弹出一个页面,页面的地址为:
javascript:TreeView_PopulateNode(ctl00_main_TreeView1_Data,2,ctl00_main_TreeView1n2,ctl00_main_TreeView1t2,ctl00_main_TreeView1t2i,'%20','4月','电机事业部\\2011\\year(time)=\'2011\'%20and%20month(time)=\'4\'%20','f','','tff')
不知道到底是哪里错了。

原代码如下。

前台树:
<asp:TreeView ID="TreeView1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15" 
ontreenodepopulate="TreeView1_TreeNodePopulate" MaxDataBindDepth="5"
ExpandDepth="2" Font-Bold="True" onselectednodechanged="tree_select">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
<SelectedNodeStyle Font-Underline="False" HorizontalPadding="0px"
VerticalPadding="0px" BackColor="#B5B5B5" />
<Nodes>
<asp:TreeNode Value="电机事业部" PopulateOnDemand="True" Text="电机事业部" SelectAction="Expand"></asp:TreeNode>
</Nodes>
<NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black"
HorizontalPadding="2px" NodeSpacing="0px" VerticalPadding="2px" />
</asp:TreeView>




后台树代码:
    protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count == 0)
{

switch (e.Node.Depth)
{
case 0:
Populateyear(e.Node);
break;
case 1:
Populatemonth(e.Node);
break;
case 2:
Populatedw(e.Node);
break;
case 3:
Populateweek(e.Node);
break;

}
}
}
//年节点
void Populateyear(TreeNode node)
{
string sqlQuery = "Select distinct year(time) time From zhoubao order by time desc ";
DataSet resultSet;
PMS.Common.DataAccess data = new PMS.Common.DataAccess();
resultSet = data.CreateDataSet(sqlQuery);
if (resultSet.Tables.Count > 0)
{
foreach (DataRow row in resultSet.Tables[0].Rows)
{
TreeNode NewNode = new TreeNode();
NewNode.Value = row["time"].ToString().Trim();
NewNode.Text = row["time"].ToString().Trim() + "年";
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Expand;
node.ChildNodes.Add(NewNode);
}
}
}

//月节点
void Populatemonth(TreeNode node)
{
string sqlQuery = "Select distinct month(time) time From zhoubao Where year(time)='" + node.Value + "' order by time desc";
PMS.Common.DataAccess data = new PMS.Common.DataAccess();
DataSet ResultSet = data.CreateDataSet(sqlQuery);
if (ResultSet.Tables.Count > 0)
{
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
TreeNode NewNode = new
TreeNode(row["time"].ToString() + "月", "year(time)='" + node.Value + "' and month(time)='" + row["time"].ToString().Trim() + "' ");
//TreeNode(row["time"].ToString(),row["time"].ToString());
//NewNode.Text = row["bz"].ToString().Trim();
//NewNode.Value = "Select users From users Where dw='"+node.Value+"' and bz='"+row["bz"].ToString().Trim()+"' ";
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Expand;
node.ChildNodes.Add(NewNode);

}
}
}

//部门节点
void Populatedw(TreeNode node)
{
string sqlQuery = "select distinct dw dw from zhoubao";
PMS.Common.DataAccess data = new PMS.Common.DataAccess();
DataSet ResultSet = data.CreateDataSet(sqlQuery);
if (ResultSet.Tables.Count > 0)
{
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
//string url = "~/admin/sd.aspx?Users=" + row["users"].ToString().Trim() + "";
string str = "" + node.Value + " and dw='" + row["dw"].ToString().Trim() + "'";
TreeNode NewNode = new
//TreeNode(row["dw"].ToString(), "", "", "" + url + "", "");
TreeNode(row["dw"].ToString(), "" + node.Value + " and dw='" + row["dw"].ToString().Trim() + "'");
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Expand;
node.ChildNodes.Add(NewNode);
}
}
}

//周节点
void Populateweek(TreeNode node)
{
string sqlQuery = node.Value;
sqlQuery = "select week,lr from zhoubao where " + node.Value + " order by id";
PMS.Common.DataAccess data = new PMS.Common.DataAccess();
DataSet ResultSet = data.CreateDataSet(sqlQuery);
if (ResultSet.Tables.Count > 0)
{
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
string url = "~/zhoubao.aspx?lr=" + row["lr"].ToString().Trim() + "";
TreeNode NewNode = new
//TreeNode(row["week"].ToString(),row["lr"].ToString().Trim(), "", "" + url + "", "");
TreeNode(row["week"].ToString(), row["lr"].ToString().Trim());
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.Select;
node.ChildNodes.Add(NewNode);
}
}
}

protected void tree_select(object sender, EventArgs e)
{
string path1 = TreeView1.SelectedNode.Value.ToString().Trim();
path = "/zhoubaoflash/" + path1 + "";
}


...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
卷泥巴重来 2011-05-09
  • 打赏
  • 举报
回复
应该是你绑定时哪个参数没对上!
ziyeage 2011-05-09
  • 打赏
  • 举报
回复
我也很奇怪为什么会出现这个问题,那个include的文件是个html文件,可能跟里面打开链接方式有关吧。把那个文件去掉引用就好了。
子夜__ 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ziyeage 的回复:]

呃,这个很简单,实行周报制,一个部门一个月,最多五个周报。五个部门,但一年有12个月,至于用多少年,那是另一个问题,所以最好的节点方式,就是年-月-部门-周报。
[/Quote]
顺便解决2楼的问题了吗?哈哈

javascript:TreeView_PopulateNode(ctl00_main_TreeView1_Data,2,ctl00_main_TreeView1n2,ctl00_main_TreeView1t2,ctl00_main_TreeView1t2i,'%20','4月','电机事业部\\2011\\year(time)=\'2011\'%20and%20month(time)=\'4\'%20','f','','tff')

你这代码放火狐下应该也能跑吧。看不出什么问题。
ziyeage 2011-04-26
  • 打赏
  • 举报
回复
呃,这个很简单,实行周报制,一个部门一个月,最多五个周报。五个部门,但一年有12个月,至于用多少年,那是另一个问题,所以最好的节点方式,就是年-月-部门-周报。
IRISlang1 2011-04-26
  • 打赏
  • 举报
回复
这个好强啊!年月部门周!http://www.52fengxian.com/
ziyeage 2011-04-26
  • 打赏
  • 举报
回复
顶一顶看有没有专家。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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