乐观 发表于 2015-1-18 11:15:23

ASP.NET网页设计带线的无穷级下拉树列表仓酷云

net网页编程欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!很多多少年没写文章了
这里就分享点本人原创的一点破代码,效果如图下:

自己的供应的代码以下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Web.UI.WebControls;

namespaceInterface.Common
{
publicinterfaceIDropDownTree:IDisposable
{
///<summary>
///前往Dictionary里分离对应ID,文本,假如没有子节点前往null
///</summary>
///<paramname="parentID">父节点ID</param>
///<returns></returns>
Dictionary<string,string>GetChildCategory(stringparentID);
///<summary>
///代码里写returnnewInterface.Common.DropDownTree(this);
///</summary>
DropDownTreeDropDownTree
{
get;
}
}
publicsealedclassDropDownTree
{
IDropDownTree_DropDownTree;
publicDropDownTree(IDropDownTreedropDownTree)
{
_DropDownTree=dropDownTree;
}
///<summary>
///用于树的前缀
///</summary>
///<paramname="IsLast">是不是是同级节点中的最初一个</param>
///<paramname="HasChild">本节点是不是具有子节点</param>
///<paramname="ParentString">父节点前缀标记</param>
///<returns>本节点的前缀</returns>
privatestringGetPreFix(boolisLast,boolhasChild,stringparentString)
{
stringresult=string.Empty;
if(!string.IsNullOrEmpty(parentString))
{
parentString=parentString.Remove(parentString.Length-1).Replace("├","│").Replace("└"," ");
result+=parentString;
}
if(isLast)
{
result+="└";
}
else
{
result+="├";
}
if(hasChild)
{
result+="┬";
}
else
{
result+="─";
}
returnresult;
}
绑定下拉菜单
}
}

挪用办法很复杂:
1.承继自IDropDownTree接口
2.完成3个接口办法

完成接口代码示例,最次要的是本人完成取得子级的办法
#regionIDropDownTree成员

publicDictionary<string,string>GetChildCategory(stringparentID)
{
stringwhere="ParentID="+parentID+"";
if(string.IsNullOrEmpty(parentID))
{
where="ParentIDisnullorParentID="+Guid.Empty+"";
}
List<GoodsCategoryBean>_GoodsCategoryList=SelectList(0,where,string.Empty,false);
if(_GoodsCategoryList!=null&&_GoodsCategoryList.Count>0)
{
Dictionary<string,string>categoryList=newDictionary<string,string>();
for(inti=0;i<_GoodsCategoryList.Count;i++)
{
categoryList.Add(_GoodsCategoryList.ID.ToString(),_GoodsCategoryList.GategoryName);
}
returncategoryList;
}
returnnull;
}

publicInterface.Common.DropDownTreeDropDownTree
{
get{returnnewInterface.Common.DropDownTree(this);}
}

#endregion
页面挪用代码:类名.DropDownTree.BindToDropDownList(下拉控件ID);

但愿对年夜伙有点匡助....
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。

冷月葬花魂 发表于 2015-1-19 16:10:37

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

第二个灵魂 发表于 2015-1-20 09:31:22

逐步缩小出错代码段的范围,最终确定错误代码的位置。

金色的骷髅 发表于 2015-1-29 06:27:55

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

山那边是海 发表于 2015-1-30 17:48:42

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

因胸联盟 发表于 2015-2-5 20:38:12

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

小女巫 发表于 2015-2-9 03:40:56

ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。

若相依 发表于 2015-2-12 04:50:44

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

精灵巫婆 发表于 2015-3-2 22:18:00

市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。

小妖女 发表于 2015-3-11 06:58:16

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

爱飞 发表于 2015-3-11 17:19:51

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

深爱那片海 发表于 2015-3-19 03:15:15

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

老尸 发表于 2015-3-27 03:11:29

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
页: [1]
查看完整版本: ASP.NET网页设计带线的无穷级下拉树列表仓酷云