知识大全 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导航链接问题

ASP.NET母版页TreeView导航链接问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET入门教程 1.3.2 导航

ASP.NET入门教程1.3.2导航  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 ASP.NET基于XML导航栏的制作

ASP.NET基于XML导航栏的制作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先说明本文

知识大全 asp.net 2.0中使用sitemapDATAsource做页面导航

asp.net2.0中使用sitemapDATAsource做页面导航  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶