仓酷云

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

[学习教程] ASP网页编程之ASP.NET不定级静态菜单的完成

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。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的捆绑而显现出来;
海妖 该用户已被删除
9#
发表于 2015-3-20 21:18:22 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
变相怪杰 该用户已被删除
8#
发表于 2015-3-13 23:00:49 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
若相依 该用户已被删除
7#
发表于 2015-3-6 22:45:36 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
透明 该用户已被删除
6#
发表于 2015-2-22 02:42:52 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-7 12:47:50 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
柔情似水 该用户已被删除
地板
发表于 2015-2-1 17:19:21 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
admin 该用户已被删除
板凳
发表于 2015-1-24 14:53:11 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-19 05:13:04 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 19:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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