使用DNNTree控件制作DNN模块

为了学习DNN,我最近一直在看DNN团队的相关博客和个人网站,我有很多问题,也是通过在DNN官方站的论坛上得到答案的,当然,有很多让asp.net和DNN方面的资深人士不屑的初级得不能再初级的,问题。不过,还是感谢他们能回答,至少是提示,也非常感谢这些愿意将自己的知识分享给新人的IT人。在此,我也将我的一些学习过程写出来,希望对更新的新人能有一点帮助。我始终相信作IT的,特别是编程这块,需要大家(不论国外,国内)将自己的知识分享出来,进步才够快。

好的,废话不说了。
这是Michael的教程,可以说是step by step的。如果还不会DNN module开发的朋友,请先看这篇文章,也是很初级的,同样step by step,相信自己是最棒的。
http://www.codeproject.com/KB/applications/LCTDNNModDev.aspx

http://www.adefwebserver.com/DotNetNukeHELP/DNNTree/
我照着作下来,有这几点需要注意的,我用的是C#。

遇到的问题是:objNode.ImageIndex = eImageType.Folder
vs2005对此没有提示,说明并没有在上下文定义,或者引用相关的类或者名称空间。首先,我是在vs2005里用calss view和object view查找,没有! 接着在DNN Q群里问高手,结果得到提示,在filemanager.ascx.vb中找到了enum的定义,不过,还是引用不了。再后来google一通,还是未果。于是,我还向Michael去了mail,并在论坛上发了贴。结果,他们都给了我认真的回复,而当我作完这个练习后,我发现,在这段代码最后,有对eImageType.Folder
的定义。
Public Enum eImageType
Folder
Page
End Enum
 

很是惭愧!

建议遇到问题,按上述流程未解决的,请在相关的专业论坛发贴,实在不行,再向作者去mail。因为就在昨晚我看Michael的其他教程时,看到醒目的提示,请勿来mail,有问题到论坛。的确理解,他的教程读者比牛毛还多,都去mail,还不累死,哪儿还有精力来写更多的教程呢。如果遇到我这样的问题,还不给郁闷死。

第2个问题,就是编译时,提示error,意料之中,从VB到C#,一般都有这样的问题。
 在这儿推荐一个好站,http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx
它可以将vb c#互转代码。
当然,我是手工转的,因为代码量较少,没必要用工具,就当对自己的提高吧。

objTreeNode = objParent.TreeNodes(index)

这个index外面的圆括号,应该换成[],知道吧。不知道原因的,请在评论里回复。

另外,
Dim objTreeNode As TreeNode

转成C#
TreeNode objTreeNode;
后,可能会出错,如果你在using名称空间时,同时引用了using System.Web.UI.WebControls;
using DotNetNuke.UI.WebControls;的话。

因为在这里,我们用的TreeNode是DotNetNuke.UI.WebControls;的,而非System.

所以,要么请您明确写明,写全,要么,将using System.Web.UI.WebControls;的WebControls去掉,因为这项目里正好用不着System的WebControls.今后如果遇到同一项目里需要用到这两个WebControls的话,请用前者,写全,写明。

第3个问题:

编译通过了,在IE里,除了图标显示为红叉外,其他都能正常使用,达到预期效果。
我看了图标的Property,显示的是http://localhost/images/folder.gif 而在我的系统里正确的应该在images前面加上dnn/
在vs2005中,查看DNNTree控件的属性,看到systemimagespath居然自作聪明的给我加上了images,请将其改为dnn(如果你也用的是DNN作为虚拟目录名)。

相应的
代码文件里也不需要像Michael那样加上"http://www.cnblogs.com/../"
而是
DNNTree1.ImageList.Add("images/folder.gif");
DNNTree1.ImageList.Add("images/file.gif");

一切OK,如果您还遇到什么新的问题,欢迎您在评论(http://blog.csdn.net/metababy)里,提出,这样,今后其他人搜到这文章,就不会出现同样的疑惑了。

posted on   公众号73只蚂蚁  阅读(409)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述

导航

< 2008年7月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9
点击右上角即可分享
微信分享提示