知识大全 Asp.net导航控件真的值得用吗
Posted 知
篇首语:学习是劳动,是充满思想的劳动。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp.net导航控件真的值得用吗相关的知识,希望对你有一定的参考价值。
Asp.net导航控件真的值得用吗? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
开始接触menu控件 感觉怎么这么别扭啊 首先说数据访问部分 为了所谓的provider pattern 一层一层的包装 而且都是些黑盒子 虽然概念是挺先进 结构好象也很清楚 但还是让我觉的迷迷糊糊 至于嘛 只是想做几个数据驱动的menu而已 还有那个前台的menu类 那么多的Properties 尤其想到menu类也是个黑盒子 一点都不知道 它生成的x会是什么样的 而我只有一点点css知识而已 想到这里连尝试的欲望都没了 还不如自己动手亲自写一个menu呢 网上好象有好多现成的javascript类 比如这个 Div_css 结构的 虽然没有 控件那么漂亮 可也很是实用 至少都是透明的 不过后台有点麻烦 当时的想法是 设计一个类sitemap 从数据库里读导航信息 然后存到一个dataset中 在application_start 事件处理函数中 实例化一个sitemap 和一个sqlCachedependency 插入到cache中 一个dependency的回调函数 以更新cache中的数据 从cache中提取数据生成menu 这样一来可以想象default master的代码的代码会乱七八糟 非但不太容易写 写好的代码也不太容易复用 而且还有关于cache的很多问题 肯定有其他办法 好多东西我都没有接触过 不过现在想想 provider pattern还是不错 一层api连接表示层 一层api连接数据访问层 被迫学习menu类 希望它不要太让人意外 终于明白为什么开源让那么多人激动 开放透明啊! /**//***************************************************** * ypSlideOutMenu * / / * * a nice little script to create exclusive slide out * menus for ns ns mozilla opera ie ie on * mac and win I ve got no linux or unix to test on but * it should(?) work * * Revised: * / / : added hideAll() * / / : added writeCSS() to support more * than menus * * youngpup *****************************************************/ ypSlideOutMenu Registry = [] ypSlideOutMenu aniLen = ypSlideOutMenu hideDelay = ypSlideOutMenu minCPUResolution = // constructor function ypSlideOutMenu(id dir left top width height) this ie = document all ? : this ns = document layers ? : this dom = document getElementById ? : if (this ie || this ns || this dom) this id = id this dir = dir this orientation = dir == left || dir == right ? h : v this dirType = dir == right || dir == down ? : + this dim = this orientation == h ? width : height this hideTimer = false this aniTimer = false this open = false this over = false this startTime = this gRef = ypSlideOutMenu_ +id eval(this gRef+ =this ) ypSlideOutMenu Registry[id] = this var d = document var strCSS = ; strCSS += # + this id + Container visibility:hidden; strCSS += left: + left + px; strCSS += top: + top + px; strCSS += overflow:hidden; z index: ; strCSS += # + this id + Container # + this id + Content position:absolute; strCSS += width: + width + px; strCSS += height: + height + px; strCSS += clip:rect( + width + + height + ); strCSS += this css = strCSS; this load() ypSlideOutMenu writeCSS = function() document writeln( <style type= text/css > ); for (var id in ypSlideOutMenu Registry) document writeln(ypSlideOutMenu Registry[id] css); document writeln( </style> ); ypSlideOutMenu prototype load = function() var d = document var lyrId = this id + Container var lyrId = this id + Content var obj = this dom ? d getElementById(lyrId ) : this ie ? d all[lyrId ] : d layers[lyrId ] if (obj ) var obj = this ns ? obj layers[lyrId ] : this ie ? d all[lyrId ] : d getElementById(lyrId ) var temp if (!obj || !obj ) window setTimeout(this gRef + load() ) else ntainer = obj nu = obj this style = this ns ? nu : nu style this homePos = eval( + this dirType + this dim) this outPos = this accelConst = (this outPos this homePos) / ypSlideOutMenu aniLen / ypSlideOutMenu aniLen // set event handlers if (this ns ) nu captureEvents(Event MOUSEOVER | Event MOUSEOUT); nu onmouseover = new Function( ypSlideOutMenu showMenu( + this id + ) ) nu onmouseout = new Function( ypSlideOutMenu hideMenu( + this id + ) ) //set initial state this endSlide() ypSlideOutMenu showMenu = function(id) var reg = ypSlideOutMenu Registry var obj = ypSlideOutMenu Registry[id] if (ntainer) obj over = true for (menu in reg) if (id != menu) ypSlideOutMenu hide(menu) if (obj hideTimer) reg[id] hideTimer = window clearTimeout(reg[id] hideTimer) if (!obj open && !obj aniTimer) reg[id] startSlide(true) ypSlideOutMenu hideMenu = function(id) var obj = ypSlideOutMenu Registry[id] if (ntainer) if (obj hideTimer) window clearTimeout(obj hideTimer) obj hideTimer = window setTimeout( ypSlideOutMenu hide( + id + ) ypSlideOutMenu hideDelay); ypSlideOutMenu hideAll = function() var reg = ypSlideOutMenu Registry for (menu in reg) ypSlideOutMenu hide(menu); if (menu hideTimer) window clearTimeout(menu hideTimer); ypSlideOutMenu hide = function(id) var obj = ypSlideOutMenu Registry[id] obj over = false if (obj hideTimer) window clearTimeout(obj hideTimer) obj hideTimer = if (obj open && !obj aniTimer) obj startSlide(false) ypSlideOutMenu prototype startSlide = function(open) this[open ? onactivate : ondeactivate ]() this open = open if (open) this setVisibility(true) this startTime = (new Date()) getTime() this aniTimer = window setInterval(this gRef + slide() ypSlideOutMenu minCPUResolution) ypSlideOutMenu prototype slide = function() var elapsed = (new Date()) getTime() this startTime if (elapsed > ypSlideOutMenu aniLen) this endSlide() else var d = Math round(Math pow(ypSlideOutMenu aniLen elapsed ) * this accelConst) if (this open && this dirType == ) d = d else if (this open && this dirType == + ) d = d else if (!this open && this dirType == ) d = this dim + d else d = this dim + d this moveTo(d) ypSlideOutMenu prototype endSlide = function() this aniTimer = window clearTimeout(this aniTimer) this moveTo(this open ? this outPos : this homePos) if (!this open) this setVisibility(false) if ((this open && !this over) || (!this open && this over)) this startSlide(this over) ypSlideOutMenu prototype setVisibility = function(bShow) var s = this ns ? ntainer : ntainer style s visibility = bShow ? visible : hidden ypSlideOutMenu prototype moveTo = function(p) this style[this orientation == h ? left : top ] = this ns ? p : p + px ypSlideOutMenu prototype getPos = function(c) return parseInt(this style[c]) ypSlideOutMenu prototype onactivate = function() ypSlideOutMenu prototype ondeactivate = function() cha138/Article/program/net/201311/12693相关参考
知识大全 ASP.NET入门教程 3.5.3 导航控件[2]
ASP.NET入门教程3.5.3导航控件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 3.5.3 导航控件[4]
ASP.NET入门教程3.5.3导航控件[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 3.5.3 导航控件[1]
ASP.NET入门教程3.5.3导航控件[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 3.5.3 导航控件[3]
ASP.NET入门教程3.5.3导航控件[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 3.5.3 导航控件[5]
ASP.NET入门教程3.5.3导航控件[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 3.5.3 导航控件[6]
ASP.NET入门教程3.5.3导航控件[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
ASP.NET母版页TreeView导航链接问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET入门教程1.3.2导航 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
ASP.NET基于XML导航栏的制作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先说明本文
知识大全 asp.net 2.0中使用sitemapDATAsource做页面导航
asp.net2.0中使用sitemapDATAsource做页面导航 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶