仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1185|回复: 12
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计带线的无穷级下拉树列表仓酷云

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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个接口办法

完成接口代码示例[Dispose办法本人完成],最次要的是本人完成取得子级的办法
#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%的人才能得到的高薪。
山那边是海 该用户已被删除
5#
发表于 2015-1-30 17:48:42 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
因胸联盟 该用户已被删除
6#
发表于 2015-2-5 20:38:12 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
小女巫 该用户已被删除
7#
发表于 2015-2-9 03:40:56 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
若相依 该用户已被删除
8#
发表于 2015-2-12 04:50:44 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-2 22:18:00 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
小妖女 该用户已被删除
10#
发表于 2015-3-11 06:58:16 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
爱飞 该用户已被删除
11#
发表于 2015-3-11 17:19:51 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
深爱那片海 该用户已被删除
12#
发表于 2015-3-19 03:15:15 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
老尸 该用户已被删除
13#
发表于 2015-3-27 03:11:29 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表