关闭

使用WebResource内嵌资源

1055人阅读 评论(0) 收藏 举报

From:http://blog.blueshop.com.tw/longer/archive/2007/01/03/53248.aspx
看ASP.NET的原始碼時,常會看到src=WebResource.axd?xxxxxxxxxx這樣的JS或圖片src,研究了一下,原來就是在寫成元件時,需要用到的文件比如js檔、css檔 或圖形,就可以使用這樣的方式內嵌至元件中,使用者不需另外複製這些檔案,這才恍然大悟。

之前寫的一些自訂控制項,總是要使用者自行複製js檔、css檔 或圖形到自己的目錄下,這幾天終於了解原來就是利用WebResource.axd來嵌入這些資料,迫不及待的練習寫了一個FreeTextBox延伸「插入程式碼」功能的元件,14個js檔、2個css檔、7個gif檔,使用者只要一個加入一個dll檔就搞定。真是相見恨晚,更有學不完的感覺,之前寫的元件,有空再找時間修正了。

網路上有一篇範例使用在 ASP . NET 2.0 Web 資源值得參考。

補充說明:
1.所有要作為WebResourc的文件,都必須在檔案上按「右鍵」/「屬性」,建置動作項目選「內嵌資源」
2.所有要作為WebResourc的文件,都必須在專案properties / AssemblyInfo.cs中作定義
如:[assembly: WebResource("命名空間.子資料夾.資源檔名稱", ContentType)]
[assembly: WebResource("FreeTextBoxExtend.images.csharp.gif", "image/gif")]
3.加入text/css link的方式,一樣可以內嵌在元件中,不需像範例中,使用者需另寫Code

Page page = (Page)HttpContext.Current.Handler;   
 
string[] rsname = new string[] "TestPages.css""SyntaxHighlighter.css" };   
 
for (int i = 0; i < rsname.Length; i++)   
 
{   
   System.Web.UI.HtmlControls.HtmlLink myHtmlLink 
= new System.Web.UI.HtmlControls.HtmlLink();   
   myHtmlLink.Href 
= cs.GetWebResourceUrl(this.GetType(), "FreeTextBoxExtend.Styles." + rsname[i]);//取得在AssemblyInfo中的Resource   
   myHtmlLink.Attributes.Add("rel""stylesheet");   
   myHtmlLink.Attributes.Add(
"type""text/css");   
   page.Header.Controls.Add(myHtmlLink);   
 }
  



From:http://support.microsoft.com/kb/910442/zh-tw
使用在 ASP . NET 2.0 Web 資源

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:376849次
    • 积分:5216
    • 等级:
    • 排名:第5450名
    • 原创:142篇
    • 转载:70篇
    • 译文:0篇
    • 评论:57条
    最新评论