找回密码
 注册
搜索
热搜: 回贴

c#2.0中动态修改页面标题

2009-12-13 12:30| 发布者: admin| 查看: 93| 评论: 0|原作者: 琴姬

□在老外的站上看到解决的好方法,故简单编译......


在老外的站上看到解决的好方法,故简单编译之:
在一个asp.net 的应用中,经常要动态修改页面的标题,一个典型的例子就是,在一个页面导航的控件中,希望用户点选哪一个连接,在页面的title里就显示相关的内容,举个例子,比如一个网站,有如下的网站架构:
有图书分类,下面再有中国图书,外国图书分类,则一般可以用树形或者asp.net 2.0的新增加的导航栏控件
(sitemap),来实现,比如
图书--->中国图书;
图书---->外国图书
等,而如果这个时候,能在页面的部分,也能显示比如"图书-->中国图书"这样,那就更加直观明显了,<br>在asp.net 2.0中,我们可以使用<head>部分的服务端控件来实现了,首先,要添加标记<br><head runat="server"><br>然后可以在page_load事件中,以如下形式改边其title的内容了,如<br>Page.Header.Title = "The current time is: " & DateTime.Now.ToString() <br>,也可以简单写成page.title.<br>然后,我们可以通过这样的办法,将其于sitemap控件结合了,实现方法如下:<br>Const DEFAULT_UNNAMED_PAGE_TITLE As String = "Untitled Page"<br> Const DEFAULT_PAGE_TITLE As String = "Welcome to my Website!!" <br> 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()<br> 'Can also use the following if you'd rather<br> 'Page.Title = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)<br> End If<br> End If<br> End Sub<br> Private Function GetPageTitleBasedOnSiteNavigation() As String<br> If SiteMap.CurrentNode Is Nothing Then<br> Throw New ArgumentException("currentNode cannot be Nothing")<br> End If<br> '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<br> Dim output As String = String.Empty<br> Dim currentNode As SiteMapNode = SiteMap.CurrentNode<br> While currentNode IsNot Nothing<br> If output.Length > 0 Then<br> output = currentNode.Title & " :: " & output<br> Else<br> output = currentNode.Title<br> End If<br> currentNode = currentNode.ParentNode<br> End While<br> Return output<br> End Function<br>在上面的代码中,首先预定义了两个常量,然后逐步建立sitemap的结点,一开始结点是null的,然后再调用<br>GetPageTitleBasedOnSiteNavigation() 这个过程,在每建立一个sitemap的结点时,用字符串进行连接,最后返回给page.title即可实现,当然也可以用递归实现<br><br></td></tr></table> <!--[diy=diycontentbottom]--><div id="diycontentbottom" class="area"></div><!--[/diy]--> <script src="data/cache/home.js?R1y" type="text/javascript"></script> <div id="click_div"><table cellpadding="0" cellspacing="0" class="atd"> <tr></tr> </table> <script type="text/javascript"> function errorhandle_clickhandle(message, values) { if(values['id']) { showCreditPrompt(); show_click(values['idtype'], values['id'], values['clickid']); } } </script> </div> <!--[diy=diycontentclickbottom]--><div id="diycontentclickbottom" class="area"></div><!--[/diy]--> </div> <div class="o cl ptm pbm"> <a href="https://bbs.weiying.cn/home.php?mod=spacecp&ac=favorite&type=article&id=6644&handlekey=favoritearticlehk_6644" id="a_favorite" onclick="showWindow(this.id, this.href, 'get', 0);" class="oshr ofav">收藏</a> <a href="https://bbs.weiying.cn/home.php?mod=spacecp&ac=share&type=article&id=6644&handlekey=sharearticlehk_6644" id="a_share" onclick="showWindow(this.id, this.href, 'get', 0);" class="oshr">分享</a> <a href="misc.php?mod=invite&action=article&id=6644" id="a_invite" onclick="showWindow('invite', this.href, 'get', 0);" class="oshr oivt">邀请</a> </div> </div> <!--[diy=diycontentrelatetop]--><div id="diycontentrelatetop" class="area"></div><!--[/diy]--> <!--[diy=diycontentrelate]--><div id="diycontentrelate" class="area"></div><!--[/diy]--> <div id="comment" class="bm"> <div class="bm_h cl"> <h3>最新评论</h3> </div> <div id="comment_ul" class="bm_c"><form id="cform" name="cform" action="portal.php?mod=portalcp&ac=comment" method="post" autocomplete="off"> <div class="tedt"> <div class="area"> <textarea name="message" rows="3" class="pt" id="message" onkeydown="ctrlEnter(event, 'commentsubmit_btn');"></textarea> </div> </div> <input type="hidden" name="portal_referer" value="portal.php?mod=view&aid=6644#comment"> <input type="hidden" name="referer" value="portal.php?mod=view&aid=6644#comment" /> <input type="hidden" name="id" value="0" /> <input type="hidden" name="idtype" value="" /> <input type="hidden" name="aid" value="6644"> <input type="hidden" name="formhash" value="b82f8b2f"> <input type="hidden" name="replysubmit" value="true"> <input type="hidden" name="commentsubmit" value="true" /> <p class="ptn"><button type="submit" name="commentsubmit_btn" id="commentsubmit_btn" value="true" class="pn"><strong>评论</strong></button></p> </form> </div> </div> <!--[diy=diycontentcomment]--><div id="diycontentcomment" class="area"></div><!--[/diy]--> </div> <div class="sd pph"> <div class="drag"> <!--[diy=diyrighttop]--><div id="diyrighttop" class="area"></div><!--[/diy]--> </div> <div class="bm"> <div class="bm_h cl"> <h2>相关分类</h2> </div> <div class="bm_c"> <ul class="xl xl2 cl"><li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=38">ASP/.NET</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=59">PHP</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=60">JSP/Java</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=61">CGI/perl</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=62">VB/.NET</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=63">C/C++</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=64">Delphi</a></li> <li><a href="https://bbs.weiying.cn/portal.php?mod=list&catid=65">Xml</a></li> </ul> </div> </div> <div class="drag"> <!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]--> </div> </div> </div> <div class="wp mtn"> <!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]--> </div> <input type="hidden" id="portalview" value="1"> </div> <div id="ft" class="wp cl"> <div id="flk" class="y"> <p> <a href="//wpa.qq.com/msgrd?v=3&uin=8828254&site=微赢网络技术论坛&menu=yes&from=discuz" target="_blank" title="QQ"><img src="static/image/common/site_qq.jpg" alt="QQ" /></a><span class="pipe">|</span><a href="https://bbs.weiying.cn/forum.php?mod=misc&action=showdarkroom" >小黑屋</a><span class="pipe">|</span><a href="topic-sitemap.html" target="_blank" >最新主题</a><span class="pipe">|</span><a href="https://bbs.weiying.cn/forum.php?showmobile=yes" >手机版</a><span class="pipe">|</span><strong><a href="http://bbs.weiying.cn" target="_blank">微赢网络技术论坛</a></strong> ( <a href="https://beian.miit.gov.cn/" target="_blank">苏ICP备08020429号</a> )<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?a66c064273122db3a05de72f6cd924eb"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></p> <p class="xs0"> GMT+8, 2024-10-1 05:34<span id="debuginfo"> , Processed in 0.124214 second(s), 12 queries , Gzip On, MemCache On. </span> </p> </div> <div id="frt"> <p>Powered by <strong><a href="https://www.discuz.vip/" target="_blank">Discuz!</a></strong> <em>X3.5</em></p> <p class="xs0">© 2001-2023 <a href="https://code.dismall.com/" target="_blank">Discuz! Team</a>.</p> </div></div> <script src="home.php?mod=misc&ac=sendmail&rand=1727732084" type="text/javascript"></script> <div id="scrolltop"> <span hidefocus="true"><a title="返回顶部" onclick="window.scrollTo('0','0')" class="scrolltopa" ><b>返回顶部</b></a></span> </div> <script type="text/javascript">_attachEvent(window, 'scroll', function () { showTopLink(); });checkBlind();</script> </body> </html>