如何封裝JS和CSS檔案為伺服器端控制項

2021-04-13 05:47:51 字數 2648 閱讀 5216

我們以封裝乙個js的日期控制項為列子,將它和伺服器的textbox結合在一起做成乙個伺服器控制項,以達到直接託上去就可以使用的效果。其實很簡單,大家共同學習。先看看效果圖:

方法:

然後:建乙個日期類檔案calendarbox.cs**如下:

using system;

using system.collections.generic;

using system.componentmodel;

using system.text;

using system.web;

using system.drawing;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.htmlcontrols;

namespace wisesoft.web.control

void page_prerendercomplete(object sender, eventargs e)

/** 〈summary〉

/// 〈/summary〉

[bindable(true)]

[category("圖示設定")]

[defaultvalue("imagin/calender.gif")]

[localizable(true)]

public string imaginurl

set }

/** 〈summary〉

/// 設定日期,時間的初始格式。

/// 〈/summary〉

[bindable(true)]

[category("初始化設定")]

[defaultvalue(false)]

[localizable(true)]

public bool showtime

return false;

} set }

/** 〈summary〉

/// 注樣式檔案

/// 〈/summary〉

/// 〈param name="path"〉〈/param〉

private void registercssfile(string path) }

} 再看 void page_prerendercomplete(object sender, eventargs e)

是在頁面呈現之前將你的js檔案註冊到頁面上。

[bindable(true)]

[category("圖示設定")]

[defaultvalue("imagin/calender.gif")]

[localizable(true)]

是利用反射的元資料資訊,來設定屬性。就是給你的日期控制項旁邊加上個小圖示,把它做成乙個屬性,可以讓程式設計師自定義設定,也可以把它繼承進去。

好了,這樣就可以把js檔案封裝好了,再來看看css檔案如何封裝並寫入客戶端。

我們可以看見下面有乙個方法,

/** 〈summary〉

/// 注樣式檔案

/// 〈/summary〉

/// 〈param name="path"〉〈/param〉

private void registercssfile(string path)

它就是用來註冊你的css檔案的,大家都知道在我們的頁面**裡面是〈link href="stylesheet.css" rel="stylesheet" type="text/css" /〉引入外部樣式檔案。這個方法就是達到這個目的。那麼我們現在還沒有樣式檔案。

因此我們就必須建立乙個css,然後把它設定一下(和js的設定方式一樣)。再到void page_prerendercomplete(object sender, eventargs e)方法呼叫就可以了,但是還有其他方法,我們來介紹第二種(對js檔案也可以這樣使用),建立乙個calendarcss.cs檔案,**如下:

using system;

using system.collections.generic;

using system.text;

namespace wisesoft.web.control

.wdatefmterr

〈/style〉";

} }這個類其實是將我們的css檔案,寫為乙個字串形式,然後供主函式呼叫,以註冊到客戶端使用。

那麼我們再看看calendarbox.cs檔案裡的這段**

string calendar = calendercss.css;

calendar = calendar.replace("$imaginurl$", this.imaginurl);

if (!page.clientscript.isclientscriptblockregistered("_calendar"))

page.clientscript.registerclientscriptblock(typeof(string), "_calendar", calendar);

它就是將我們已經寫好的一段字串以快的形式註冊到客戶端(當然還有更多的註冊方式,可以在msdn看看clientscript類)。

**酷網動力(www.aspcool.com)。 

如何封裝JS和CSS檔案為伺服器端控制項

我們以封裝乙個js的日期控制項為列子,將它和伺服器的textbox結合在一起做成乙個伺服器控制項,以達到直接託上去就可以使用的效果。其實很簡單,大家共同學習。先看看效果圖 bindable true category 圖示設定 defaultvalue imagin calender.gif loc...

新增css和js檔案

需要注意的是,你可以通過umbraco後台的ui來建立樣式檔案,建立路徑是settings stylesheets create,不過站長覺得手動去建立css檔案更簡單直接。接下來就是js檔案,拷貝初始化包裡的modernizr 2.0.6.min.js檔案到站點的scripts資料夾中,相應的你也...

CSS檔案和JS檔案組織

在開發的時候會使用到多個css檔案和js檔案,如何組織就成了乙個問題。個人認為在開發的時候使用多個檔案,這樣方便檢視,到發布的時候再用工作合併成乙個。大概思路如下 一般包括兩個檔案,乙個在開發的時候使用,乙個在發布的時候使用,程式根據配置載入其中乙個。例如有乙個all debug.css檔案,在開發...