Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)delv
published in(发表于) 2014/1/6 8:48:02
ASP.NET,2.0中动态修改页面标题_[Asp.Net教程]

ASP.NET 2.0中动态修改页面标题_[Asp.Net教程]

















在老外的站上看到解决的好方法,故简单编译之:
在一个asp.net 的应用中,经常要动态修改页面的标题,一个典型的例子就是,在一个页面导航的控件中,希望用户点选哪一个连接,在页面的title里就显示相关的内容,举个例子,比如一个网站,有如下的网站架构:
有图书分类,下面再有中国图书,外国图书分类,则一般可以用树形或者asp.net 2.0的新增加的导航栏控件
(sitemap),来实现,比如




图书--->中国图书;
图书---->外国图书
等,而如果这个时候,能在页面的部分,也能显示比如"图书-->中国图书"这样,那就更加直观明显了,<BR>在asp.net 2.0中,我们可以使用<head>部分的服务端控件来实现了,首先,要添加标记<BR><head runat="server"></P> <br/> <br/> <br/><P>然后可以在page_load事件中,以如下形式改边其title的内容了,如<BR>Page.Header.Title = "The current time is: " & DateTime.Now.ToString() <BR>,也可以简单写成page.title.</P> <br/> <br/> <br/><P>然后,我们可以通过这样的办法,将其于sitemap控件结合了,实现方法如下:</P> <br/> <br/> <br/><P>Const DEFAULT_UNNAMED_PAGE_TITLE As String = "Untitled Page"<BR> Const DEFAULT_PAGE_TITLE As String = "Welcome to my Website!!"</P> <br/> <br/> <br/><P> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load<BR> 'Set the page's title, if needed<BR> If String.IsNullOrEmpty(Page.Title) OrElse Page.Title = DEFAULT_UNNAMED_PAGE_TITLE Then<BR> If SiteMap.CurrentNode Is Nothing Then<BR> Page.Title = DEFAULT_PAGE_TITLE<BR> Else<BR> Page.Title = GetPageTitleBasedOnSiteNavigation()</P> <br/> <br/> <br/><P> 'Can also use the following if you'd rather<BR> 'Page.Title = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)<BR> End If<BR> End If<BR> End Sub</P> <br/> <br/> <br/><P> Private Function GetPageTitleBasedOnSiteNavigation() As String<BR> If SiteMap.CurrentNode Is Nothing Then<BR> Throw New ArgumentException("currentNode cannot be Nothing")<BR> End If</P> <br/> <br/> <br/><P> 'We are visiting a page defined in the site map - build up the page title<BR> 'based on the site map node's place in the hierarchy</P> <br/> <br/> <br/><P> Dim output As String = String.Empty<BR> Dim currentNode As SiteMapNode = SiteMap.CurrentNode</P> <br/> <br/> <br/><P> While currentNode IsNot Nothing<BR> If output.Length > 0 Then<BR> output = currentNode.Title & " :: " & output<BR> Else<BR> output = currentNode.Title<BR> End If</P> <br/> <br/> <br/><P> currentNode = currentNode.ParentNode<BR> End While</P> <br/> <br/> <br/><P> Return output<BR> End Function</P> <br/> <br/> <br/><P>  在上面的代码中,首先预定义了两个常量,然后逐步建立sitemap的结点,一开始结点是null的,然后再调用GetPageTitleBasedOnSiteNavigation() 这个过程,在每建立一个sitemap的结点时,用字符串进行连接,最后返回给page.title即可实现,当然也可以用递归实现.</P> <br/> <br/> <br/><DIV align=right> 来源:<FONT color=#ff0000>博客园</FONT> </DIV> <br/> <br/> <br/> </div> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/><br/><p> <a version='1.0' class='qzOpenerDiv' href='http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_likeurl' target='_blank'>赞</a><script src='http://qzonestyle.gtimg.cn/qzone/app/qzlike/qzopensl.js#jsdate=20110603&style=3&showcount=1&width=130&height=30' charset='utf-8' defer='defer' ></script> <script src='http://tjs.sjs.sinajs.cn/open/api/js/wb.js' type='text/javascript' charset='utf-8'></script> <wb:share-button appkey='850846514' addition='full' type='button'></wb:share-button> <iframe id='iframepage' name='iframepage' src='../../ForJavaScript1.aspx?newsId=8653&pageIndex=1' scrolling=no frameborder='0' width='100%' onLoad='iFrameHeight()' > </iframe> </p> <p> <script language='JavaScript' src='../../js/guanggaoinwaptexthtmlend.js' type='text/javascript'></script> </p> <hr style=" width:300px; height:1px;"/> If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)<br/> <img src="../../images/mmqrcode1435163607101.png" alt=""/><br/><br/> <img src="../../images/mmqrcode1435163324094.png" alt=""/><br/> <hr style=" width:300px; height:1px;"/> <script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Fcd1d276abd98aad311a7e9ab1f772b56' type='text/javascript'%3E%3C/script%3E")); </script><br /> QQ:154298438<br /> QQ:417480759<br /> <script language='JavaScript' src='../../js/guanggao6.js' type='text/javascript'></script><br /> </body> </html>