ASP.NET2.0MasterPage技巧總結_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:編程高手 ASP.NET 狀態管理
      一般而言,HTTP協議是非狀態服務,它不保存任何用戶請求信息。直至NetScape開始使用Cookies來保存用戶請求信息,Web應用程序有了極大的發展。現在ASP.NET程序員可以使用很多種方式來保存用戶請

      好久沒有更新博客了,想了想寫一篇總結一下關于MasterPage的小技巧,都是自己在實際工作中遇到問題->解決問題發現,有更好的方法大家可直接指出。

      1、關于MasterPage和Frameset的使用:網上很多帖子爭論到底用MasterPage還是Frameset,我覺得導航樹的系統還是Frameset好,尤其數導航樹非常復雜的時候,雖然VS.NET 2005不支持它的可視化設計,自己手寫html就行了,其實MasterPage就是繼承自UserControl做了一些擴展,也不是什么新東西,MasterPage每次刷新整個頁面,感覺效率低。

      2、關于MasterPage中引用Javascript,CSS的問題:如果所有套用模板的頁面都在同一個路徑,這個問題就不存在了,但實際中為了方便管理,往往會建立一些文件夾,將引用模板的頁面放在不同的文件加,這時在模板中引用的JS、CSS文件,由于路徑的問題,在套用它的頁面中不一定能用有用,可以用一下的方法在masterpage中來動態的添加JS、CSS文件的引用:

      方法一:

      string JSFile = "";

      Response.Write(string.Format(JSFile,ResolveUrl("~/Javascript/jquery.js")));

      這種方法雖然可以快速解決問題,但是Response.Write是將腳本的引用寫到html的最開始,這就破壞了xhtml的格式,會帶來各種存在的隱患,記得過去這么做的時候,同時在用asp.net ajax做開發的時候,發現ASP.NET AJAX AjaxControlToolkit中很多的控件不起作用了,后來發現是用了Response.Write的結果。

      方法二:

      string JSFile = "";

      Page.Header.InnerHtml = string.Format(JSFile,ResolveUrl("~/Javascript/jquery.js"));

      這種方法也可以實現而且可以很好的解決方法中的問題。

      方法三:

      HtmlLink link = new HtmlLink();

      link.Href = string.Format(JSFile,ResolveUrl("~/CSS/base.css"));; link.Attributes["type"] = "text/css";

      page.Header.Controls.Add(link);

      這是注冊樣式的一種方法。

      分享:讓ASP.NET程序自動為URL加上超級鏈接
      作為一個程序員,在完成設計后還要根據程序的情況以及用戶的反映不斷對程序進行改進,這樣才能不斷地完善自己的作品。我在制作完軟件商務網 的論壇后,發現人們總喜歡在帖子中加上各種有用的URL

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程