|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。asp.net|静态|页面在老外的站上看到办理的好办法,故复杂编译之:
在一个asp.net的使用中,常常要静态修正页面的题目,一个典范的例子就是,在一个页面导航的控件中,但愿用户点选哪个毗连,在页面的title里就显现相干的内容,举个例子,好比一个网站,有以下的网站架构:
有图书分类,上面再有中国图书,本国图书分类,则一样平常能够用树形大概asp.net2.0的新增添的导航栏控件
(sitemap),来完成,好比
图书--->中国图书;
图书---->本国图书
等,而假如这个时分,能在页面的<title>部分,也能显现好比"图书-->中国图书"如许,那就加倍直不雅分明了,
在asp.net2.0中,我们可使用<head>部分的服务端控件来完成了,起首,要增加标志
<headrunat="server">
然后能够在page_load事务中,以以下情势改边其title的内容了,如
Page.Header.Title="Thecurrenttimeis:"&DateTime.Now.ToString()
,也能够复杂写成page.title.
然后,我们能够经由过程如许的举措,将其于sitemap控件分离了,完成办法以下:
ConstDEFAULT_UNNAMED_PAGE_TITLEAsString="UntitledPage"
ConstDEFAULT_PAGE_TITLEAsString="WelcometomyWebsite!!"
ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
Setthepagestitle,ifneeded
IfString.IsNullOrEmpty(Page.Title)OrElsePage.Title=DEFAULT_UNNAMED_PAGE_TITLEThen
IfSiteMap.CurrentNodeIsNothingThen
Page.Title=DEFAULT_PAGE_TITLE
Else
Page.Title=GetPageTitleBasedOnSiteNavigation()
Canalsousethefollowingifyoudrather
Page.Title=GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)
EndIf
EndIf
EndSub
PrivateFunctionGetPageTitleBasedOnSiteNavigation()AsString
IfSiteMap.CurrentNodeIsNothingThen
ThrowNewArgumentException("currentNodecannotbeNothing")
EndIf
Wearevisitingapagedefinedinthesitemap-buildupthepagetitle
basedonthesitemapnodesplaceinthehierarchy
DimoutputAsString=String.Empty
DimcurrentNodeAsSiteMapNode=SiteMap.CurrentNode
WhilecurrentNodeIsNotNothing
Ifoutput.Length>0Then
output=currentNode.Title&"::"&output
Else
output=currentNode.Title
EndIf
currentNode=currentNode.ParentNode
EndWhile
Returnoutput
EndFunction
在下面的代码中,起首预界说了两个常量,然后慢慢创建sitemap的结点,一入手下手结点是null的,然后再挪用GetPageTitleBasedOnSiteNavigation()这个历程,在每创建一个sitemap的结点时,用字符串举行毗连,最初前往给page.title便可完成,固然也能够用递回完成.
我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。 |
|