首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
一个只十条记录的菜单。采用递归为何要花天酒12秒多的时间。
[无满意答案结贴,结贴人:cmj15924197627118]
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
揭帖率:
28.57%
发表于:
2008-05-15 12:58:55
楼主
一个只十条记录的菜单。采用递归为何要花天酒12秒多的时间。太慢了。
代码如下:
private void getMenu(long code, UserSession us, MenuItem pntItem)
{
hzzykj.sys.impl.SysManagerPrx sysManager = us.getSysManagerIF();
hzzykj.sys.stSysMenu[] menu;
hzzykj.global.emResult ret = sysManager.menuGetChildByCode(code, out menu);//根据code获得子菜单个数
try
{
if (ret == hzzykj.global.emResult.retSucceed)
{
for (int i = 0; i < menu.Length; i++)
{
MenuItem menuItem = new MenuItem();
hzzykj.sys.stSysMenu m = menu[i];
menuItem.Text = m.menuName;
menuItem.NavigateUrl = m.menuUrl;
menuItem.Target = "right";
if (code != 0)
{
menuItem.ImageUrl = m.menuImageUrl;
}
if (pntItem == null)
{
Menu1.Items.Add(menuItem);
}
else
{
pntItem.ChildItems.Add(menuItem);
}
getMenu(m.menuCode, us, menuItem);
}
}
}
catch (Ice.Exception ex)
{
Response.Write(" <script language=javascript>location.href='noLinkServer.htm' </script>");
return;
}
}
问题点数:
20
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
virusplayer
virus
等级:
可用分等级:
富农
总技术专家分:
10978
总技术专家分排名:
1740
发表于:
2008-05-15 13:01:08
1
楼 得分:
0
建议写入XML文件,然后将XML版定menu
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jinjazz
近身剪-技术站点:blog.csdn.net/jinjazz
等级:
可用分等级:
贫农
总技术专家分:
119019
总技术专家分排名:
39
5
发表于:
2008-05-15 13:01:48
2
楼 得分:
0
设断点调试或者用console输出整个过程
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
IT_zen
秋千
等级:
可用分等级:
富农
总技术专家分:
648
总技术专家分排名:
26770
发表于:
2008-05-15 13:02:57
3
楼 得分:
0
去掉try
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-05-15 13:04:08
4
楼 得分:
0
跟try没关系吧。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
job_2006
初学.net
等级:
可用分等级:
贫农
总技术专家分:
4530
总技术专家分排名:
4536
发表于:
2008-05-15 13:04:44
5
楼 得分:
0
MenuItem menuItem = null;
for (int i = 0; i < menu.Length; i++)
{
menuItem = new MenuItem();
hzzykj.sys.stSysMenu m = menu[i];
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
dengchenlu
一只小鸟
等级:
可用分等级:
中农
总技术专家分:
2859
总技术专家分排名:
8502
发表于:
2008-05-15 13:11:31
6
楼 得分:
0
学习
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-05-15 13:14:14
7
楼 得分:
0
按楼上做的。这样如此啊。。10条记录递归完。还是要12秒多。。。有没有人以前也碰到过?????
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-05-15 13:26:40
8
楼 得分:
0
MenuItem menuItem = null;
for (int i = 0; i < menu.Length; i++)
{
menuItem = new MenuItem();
hzzykj.sys.stSysMenu m = menu[i];
}
这种做法倒是快了一秒钟。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
skyaspnet
数据结构(C)
等级:
可用分等级:
富农
总技术专家分:
5531
总技术专家分排名:
3864
发表于:
2008-05-15 13:27:44
9
楼 得分:
0
C# code
for
(
int
i
=
0
; i
<
menu.Length; i
++
)
这一句改为:
C# code
int
count
=
menu.Length;
for
(
int
i
=
0
; i
<
count; i
++
)
试一下吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
job_2006
初学.net
等级:
可用分等级:
贫农
总技术专家分:
4530
总技术专家分排名:
4536
发表于:
2008-05-15 13:35:54
10
楼 得分:
0
hzzykj.sys.impl.SysManagerPrx sysManager = us.getSysManagerIF();
hzzykj.sys.stSysMenu[] menu;
hzzykj.global.emResult ret = sysManager.menuGetChildByCode(code, out menu);//根据code获得子菜单个数
这些是不是可以考虑放在递归外面去
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-05-15 13:39:09
11
楼 得分:
0
网站速度整体也很慢。。想不明白到底是什么原因!苦啊
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cmj15924197627118
chenmingjun
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-05-15 13:42:58
12
楼 得分:
0
每次都要调用sysManager.menuGetChildByCode(code, out menu)来返回CODE下的子菜单啊。不能放到递归外啊
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友