仓酷云

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

[学习教程] ASP.NET网页设计Asp.net导航控件真的值得用吗?

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:48:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。asp.net|导航|控件刚入手下手打仗menu控件,感到怎样这么别扭啊。
起首说数据会见部分,为了所谓的providerpattern,一层一层的包装,并且都是些黑盒子,固然观点是挺先辈,布局好象也很分明,但仍是让我觉的恍恍惚惚,至于嘛,只是想做几个数据驱动的menu罢了。另有谁人前台的menu类,那末多的Properties,特别想到menu类也是个黑盒子,一点都不晓得,它天生的xhtml会是甚么样的,而我只要一点点CSS常识罢了,想到这里连实验的愿望都没了。还不如本人下手亲身写一个menu呢,网上好象有很多多少现成的javascript类,好比这个:

Div_css布局的,固然没有asp.net控件那末大度,可也非常有用,最少都是通明的。不外背景有点贫苦,事先的设法是:
1计划一个类sitemap,从数据库里读导航信息,然后存到一个dataset中,
2在application_start事务处置函数中实例化一个sitemap和一个sqlCachedependency,拔出到cache中。
3一个dependency的回调函数,以更新cache中的数据
4从cache中提取数据天生menu。
如许一来能够设想default.master的代码的代码会七零八落。不但不太简单写,写好的代码也不太简单复用。并且另有关于cache的良多成绩。
一定有其他举措,asp.net很多多少器材我都没有打仗过。不外如今想一想providerpattern仍是不错,一层api毗连暗示层,一层api毗连数据会见层。
自愿进修menu类,但愿它不要太让人不测。终究分明为何开源让那末多人冲动,开放通明啊!
/**//*****************************************************
*ypSlideOutMenu
*3/04/2001
*
*anicelittlescripttocreateexclusive,slide-out
*menusforns4,ns6,mozilla,opera,ie4,ie5on
*macandwin32.Ivegotnolinuxorunixtotestonbut
*itshould(?)work...
*
*Revised:
*-08/29/2002:added.hideAll()
*-04/15/2004:added.writeCSS()tosupportmore
*



than30menus.
*
*--youngpup--
*****************************************************/
ypSlideOutMenu.Registry=[]
ypSlideOutMenu.aniLen=250
ypSlideOutMenu.hideDelay=1000
ypSlideOutMenu.minCPUResolution=10
//constructor
functionypSlideOutMenu(id,dir,left,top,width,height)
...{
this.ie=document.all?1:0
this.ns4=document.layers?1:0
this.dom=document.getElementById?1:0
if(this.ie||this.ns4||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=0
this.gRef="ypSlideOutMenu_"+id
eval(this.gRef+"=this")
ypSlideOutMenu.Registry[id]=this
vard=document
varstrCSS="";
strCSS+=#+this.id+Container{visibility:hidden;
strCSS+=left:+left+px;
strCSS+=top:+top+px;
strCSS+=overflow:hidden;z-index:10000;}
strCSS+=#+this.id+Container,#+this.id+Content{position:absolute;
strCSS+=width:+width+px;
strCSS+=height:+height+px;
strCSS+=clip:rect(0+width++height+0);
strCSS+=}
this.css=strCSS;
this.load()
}
}
ypSlideOutMenu.writeCSS=function()...{
document.writeln(<styletype="text/css">);
for(varidinypSlideOutMenu.Registry)...{
document.writeln(ypSlideOutMenu.Registry[id].css);
}
document.writeln(</style>);
}
ypSlideOutMenu.prototype.load=function()...{
vard=document
varlyrId1=this.id+"Container"
varlyrId2=this.id+"Content"
varobj1=this.dom?d.getElementById(lyrId1):this.ie?d.all[lyrId1]:d.layers[lyrId1]
if(obj1)varobj2=this.ns4?obj1.layers[lyrId2]:this.ie?d.all[lyrId2]:d.getElementById(lyrId2)
vartemp
if(!obj1||!obj2)window.setTimeout(this.gRef+".load()",100)
else...{
this.container=obj1
this.menu=obj2
this.style=this.ns4?this.menu:this.menu.style
this.homePos=eval("0"+this.dirType+this.dim)
this.outPos=0
this.accelConst=(this.outPos-this.homePos)/ypSlideOutMenu.aniLen/ypSlideOutMenu.aniLen
//seteventhandlers.
if(this.ns4)this.menu.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);
this.menu.onmou搜索引擎优化ver=newFunction("ypSlideOutMenu.showMenu("+this.id+")")
this.menu.onmou搜索引擎优化ut=newFunction("ypSlideOutMenu.hideMenu("+this.id+")")
//setinitialstate
this.endSlide()
}
}
ypSlideOutMenu.showMenu=function(id)
...{
varreg=ypSlideOutMenu.Registry
varobj=ypSlideOutMenu.Registry[id]
if(obj.container)...{
obj.over=true
for(menuinreg)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)
...{
varobj=ypSlideOutMenu.Registry[id]
if(obj.container)...{
if(obj.hideTimer)window.clearTimeout(obj.hideTimer)
obj.hideTimer=window.setTimeout("ypSlideOutMenu.hide("+id+")",ypSlideOutMenu.hideDelay);
}
}
ypSlideOutMenu.hideAll=function()
...{
varreg=ypSlideOutMenu.Registry
for(menuinreg)...{
ypSlideOutMenu.hide(menu);
if(menu.hideTimer)window.clearTimeout(menu.hideTimer);
}
}
ypSlideOutMenu.hide=function(id)
...{
varobj=ypSlideOutMenu.Registry[id]
obj.over=false
if(obj.hideTimer)window.clearTimeout(obj.hideTimer)
obj.hideTimer=0
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=(newDate()).getTime()
this.aniTimer=window.setInterval(this.gRef+".slide()",ypSlideOutMenu.minCPUResolution)
}
ypSlideOutMenu.prototype.slide=function()...{
varelapsed=(newDate()).getTime()-this.startTime
if(elapsed>ypSlideOutMenu.aniLen)this.endSlide()
else...{
vard=Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed,2)*this.accelConst)
if(this.open&&this.dirType=="-")d=-d
elseif(this.open&&this.dirType=="+")d=-d
elseif(!this.open&&this.dirType=="-")d=-this.dim+d
elsed=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)...{
vars=this.ns4?this.container:this.container.style
s.visibility=bShow?"visible":"hidden"
}
ypSlideOutMenu.prototype.moveTo=function(p)...{
this.style[this.orientation=="h"?"left":"top"]=this.ns4?p:p+"px"
}
ypSlideOutMenu.prototype.getPos=function(c)...{
returnparseInt(this.style[c])
}
ypSlideOutMenu.prototype.onactivate=function()...{}
ypSlideOutMenu.prototype.ondeactivate=function()...{}
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。
沙发
发表于 2015-1-18 18:32:16 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
小女巫 该用户已被删除
板凳
发表于 2015-1-22 21:16:08 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-31 11:54:46 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
飘灵儿 该用户已被删除
5#
发表于 2015-2-6 19:17:19 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
admin 该用户已被删除
6#
发表于 2015-2-18 09:01:10 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
莫相离 该用户已被删除
7#
发表于 2015-3-6 01:41:19 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
小妖女 该用户已被删除
8#
发表于 2015-3-12 18:28:01 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
深爱那片海 该用户已被删除
9#
发表于 2015-3-20 01:31:00 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-2 13:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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