要添加樣式表或JavaScript(在線與否)動態我寫了這三個功能:
Public Function addScript(ByVal path2js As String) As System.Web.UI.Control
Dim si As New HtmlGenericControl
si.TagName = "script"
si.Attributes.Add("type", "text/javascript")
si.Attributes.Add("src", path2js)
Return si
End Function
Public Function addScript_inline(ByVal js As String) As System.Web.UI.Control
Dim si As New HtmlGenericControl
si.TagName = "script"
si.Attributes.Add("type", "text/javascript")
si.InnerHtml = js
Return si
End Function
Public Function addStyle(ByVal path2css As String) As System.Web.UI.Control
Dim css As New HtmlLink
css.Href = path2css
css.Attributes.Add("rel", "stylesheet")
css.Attributes.Add("type", "text/css")
css.Attributes.Add("media", "all")
Return css
End Function
我叫他們在Page_Load中對我的母版,就像這樣:
Me.Page.Header.Controls.Add(modGlobal.addScript("script/json/json2.js"))
或
Me.Page.Header.Controls.Add(modGlobal.addStyle("style/flexigrid/flexigrid.css"))
Regards
這種方法是合理的,只是可以添加同一CSS文件的多個實例。例如,如果同一控件在同一頁面上存在多次。 – RickNZ 2010-01-11 06:09:48
瑞克 - 非常好的一點。我編輯了我的答案,包括一些關於消除重複的註釋。 – Eilon 2010-01-11 17:46:21
喜歡關於HttpContext.Items的代碼片段。在閱讀您的文章之前從未注意到這一點。感謝分享Eilon! – RichardB 2012-04-24 20:10:21