仓酷云
标题:
ASP网页编程之ASP.NET不定级静态菜单的完成
[打印本页]
作者:
因胸联盟
时间:
2015-1-16 22:13
标题:
ASP网页编程之ASP.NET不定级静态菜单的完成
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。asp.net|菜单|静态 我们平常IEWebContr来做菜单时都是在html中间接输出,也就是说是静态的,如今要做成静态的,并且菜单级数不定,怎样来完成呢?笔者经由过程研讨发明,用IEWebContr来做菜单时,菜单项能够间接输出,也能够用以下的办法指定从某一个文件中读取菜单项:
<iewc:TreeViewrunat="server"ID="Treeview1"NAME="Treeview1">
<iewc:TreeNodeid="Treenode1"runat="server"TreeNodeSrc="menuone.txt"Expanded="True"Text="信息种别列表">
</iewc:TreeNode>
</iewc:TreeView>
个中menuone.txt的内容以下:
<TREENODES>
<treenodetext=蔬菜NavigateUrl=xxcb_add.aspx?classname=蔬菜&classid=01?Target=main1>
<treenodetext=白菜NavigateUrl=xxcb_add.aspx?classname=白菜&classid=0101??Target=main1/>
<treenodetext=萝卜NavigateUrl=xxcb_add.aspx?classname=萝卜&classid=0102??Target=main1/>
<treenodetext=黄花菜NavigateUrl=xxcb_add.aspx?classname=黄花菜&classid=0103??Target=main1/>
</treenode>
<treenodetext=生果NavigateUrl=xxcb_add.aspx?classname=生果&classid=02?Target=main1>
<treenodetext=苹果NavigateUrl=xxcb_add.aspx?classname=苹果&classid=0201?Target=main1>
<treenodetext=红富士NavigateUrl=xxcb_add.aspx?classname=红富士&classid=020101??Target=main1/>
<treenodetext=别的苹果NavigateUrl=xxcb_add.aspx?classname=别的苹果&classid=020102??Target=main1/>
</treenode>
<treenodetext=桃子NavigateUrl=xxcb_add.aspx?classname=桃子&classid=0202??Target=main1/>
<treenodetext=荔枝NavigateUrl=xxcb_add.aspx?classname=荔枝&classid=0203??Target=main1/>
</treenode>
<treenodetext=食粮NavigateUrl=xxcb_add.aspx?classname=食粮&classid=03?Target=main1>
<treenodetext=年夜米NavigateUrl=xxcb_add.aspx?classname=年夜米&classid=0301??Target=main1/>
<treenodetext=玉米NavigateUrl=xxcb_add.aspx?classname=玉米&classid=0302??Target=main1/>
</treenode>
</TREENODES>
如今的成绩酿成了怎样将数据表依据“种别号”修正menuone.txt文件。将该历程放在对数据表修正落后行。上面是依据表的内容天生menuone.txt的源代码:
ImportsSystem.IO
DimtxtwriterAsStreamWriter
txtwriter=File.CreateText(Server.MapPathstrpath("menuone.txt"))
txtwriter.WriteLine("<TREENODES>")
DimobjConnAsOleDbConnection
DimobjCmdAsOleDbCommand
DimobjReadAsOleDbDataReader
DimstrSQL,strDSNAsString
Dimstrid,strname,strid1,strname1AsString
DimstrandAsString
strand="&"
Dimi,j,k,mAsInteger
i=0
j=0
k=0
m=0
strSQL="select*fromclassorderbyclassid"
objConn=NewOleDbConnection(ConfigurationSettings.AppSettings("connString"))
objCmd=NewOleDbCommand(strSQL,objConn)
objCmd.Connection.Open()
objRead=objCmd.ExecuteReader()
WhileobjRead.Read()
Ifj=0Then
j=Len(Trim(objRead.Item("classid")))
Else
strid=strid1
strname=strname1
i=Len(Trim(objRead.Item("classid")))
k=i-j
SelectCasek
CaseIs>0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1>")
CaseIs=0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1/>")
CaseIs<0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1/>")
txtwriter.WriteLine("</treenode>")
m=k
Whilem<0
txtwriter.WriteLine("</treenode>")
m=m+2
EndWhile
EndSelect
j=Len(Trim(objRead.Item("classid")))
EndIf
strid1=Trim(objRead.Item("classid"))
strname1=Trim(objRead.Item("classname"))
EndWhile
strid=strid1
strname=strname1
i=Len(strid)
k=j-i
strid=strid1
strname=strname1
SelectCasek
CaseIs>0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1/>")
txtwriter.WriteLine("</treenode>")
m=Len(strid)/2
Whilem>1
txtwriter.WriteLine("</treenode>")
m=m-1
EndWhile
CaseIs=0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1/>")
txtwriter.WriteLine("</treenode>")
m=Len(strid)/2
Whilem>1
txtwriter.WriteLine("</treenode>")
m=m-1
EndWhile
CaseIs<=0
txtwriter.WriteLine("<treenodetext="&strname&"NavigateUrl=xxcb_add.aspx?classname="&strname&""&strand&"classid="&strid&"Target=main1/>")
txtwriter.WriteLine("</treenode>")
m=Len(strid)/2
Whilem>1
txtwriter.WriteLine("</treenode>")
m=m-1
EndWhile
EndSelect
txtwriter.WriteLine("</TREENODES>")
txtwriter.Close()
如许menuone.txt就按请求天生了菜单源文件。Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
作者:
谁可相欹
时间:
2015-1-19 05:13
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
作者:
admin
时间:
2015-1-24 14:53
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者:
柔情似水
时间:
2015-2-1 17:19
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
作者:
飘飘悠悠
时间:
2015-2-7 12:47
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者:
透明
时间:
2015-2-22 02:42
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
作者:
若相依
时间:
2015-3-6 22:45
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者:
变相怪杰
时间:
2015-3-13 23:00
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
作者:
海妖
时间:
2015-3-20 21:18
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2