ASP.NET2.0 WebRource,開發(fā)微調(diào)按鈕控件
現(xiàn)在。有許多開發(fā)人員已經(jīng)在使用ASP.NET2.0的WebResource的功能了。WebResource允許我們嵌入資源到程序集中。包括圖像,文本等。
在介紹WebResource就不得不介紹一下WebResource.axd,我們來看一下
script language="javascript" src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848" type="text/javascript"></script>目前我發(fā)現(xiàn)webResource.axd的參數(shù)跟現(xiàn)在版本有屬不同。在早期文章介紹屬性:
a 程序集名稱
r 資源文件名稱
t 程序集最后修改的時(shí)間
webResource.axd只是ISAPI中的一個(gè)映射。你也可以在使用IhttpHandler。<add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" /> webResource.axd是通過AssemblyResourceLoader類來自定義處理HTTP請求,根據(jù)所query傳遞的程序來識別從哪個(gè)程序集中獲取哪個(gè)資源。
下面以微調(diào)控件為示例。
使用步驟:
添加要嵌入的資源(比如圖像)到項(xiàng)中
在資源管理器中,單擊文件,在property window(屬性窗口)中build action選擇embedded resource(嵌入資源)。
添加下列文件到你的assessbly.cs文件哪中
[assembly: WebResource("Obies.Web.UI.WebControls.NumericTextBox.js", "application/x-javascript")]
[assembly: WebResource("Obies.Web.UI.WebControls.NumericTextBox_Silver_BtnUp.gif", "image/gif")]請注意WebResourceAttribute格式:
[assembly: WebResourceAttribute("MyNameSpaces.Resources.MyImage.gif", "image/gif")]
在CONTROL源碼當(dāng)中。你需要使用下面代碼來獲取圖像
// get WebResource URLs for the embedded gif images
String BtnUpImgSrc = this.Page.ClientScript.GetWebResourceUrl(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif");GetWebResourceUrl method:Gets a URL reference to a server-side resource.(獲取對服務(wù)器端資源的 URL 引用)
我發(fā)現(xiàn)在早期版本當(dāng)中。它的使用方法是:this.page.GetWebResourceUrl
上面代碼是從指定的程序集中當(dāng)中獲取圖像名稱:Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif,它返回的是一個(gè)服務(wù)器端資源的URL引用地址。類似于:
WebResource.axd?d=gWYJBlnQKynoTePlJ34jxyoSpR2Rh9lpYd8ZrSl0&t=632812333820000000
另外,MS提供一個(gè)Header類。Header類主要是對HTML頁面中的<Head runat="server"></head>的操作。包括Title等
呵呵。以后要修改一個(gè)頁面的標(biāo)題很很簡單了。
this.Header.Title = "This is the new page title.";
添加CSS樣式(style attribute) Style style = new Style();
style.ForeColor = System.Drawing.Color.Navy;
style.BackColor = System.Drawing.Color.LightGray;
// Add the style to the header for the body of the page
this.Header.StyleSheet.CreateStyleRule(style, null, "body");
protected override void OnPreRender (EventArgs e) {
// get a WebResource URL for the core JS script and register it
this.Page.ClientScript.RegisterClientScriptResource(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox.js");
// get a WebResource URL for the embedded CSS
String css = this.Page.ClientScript.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet + ".css");
// register the CSS
// this.Page.StyleSheetTheme = css;
//this.Page.Header.LinkedStyleSheets.Add (css);
//早期版本的方法?只能用下面的代碼來解決了
HtmlLink link = new HtmlLink();
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("href", css);
this.Page.Header.Controls.Add(link);
}
下面是微調(diào)控件的截圖
使用方法:
<%@ register tagprefix="cc" namespace="Obies.Web.UI.WebControls" assembly="Obies.Web.UI.WebControls" %>
<cc:NumericTextBox width="50" ImageSet="Silver" length="2" runat="server" id="NumericTextBox1"
maxvalue="10" minvalue="0"></cc:NumericTextBox>
<cc:NumericTextBox width="50" ImageSet="Green" length="2" runat="server" id="NumericTextBox2"
maxvalue="10" minvalue="0"></cc:NumericTextBox>
來源地址:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
dnvs05/html/webresource.asp
由于原來的代碼有點(diǎn)問題,很多特性都是最新VS2005不支持的。所以進(jìn)行了修改。
源碼下載:http://www.cnblogs.com/Files/cnzc/PostWebFormBetweenFrames.zip
在寫這篇文章查了很多資料。也嘗試用心去寫。但總感覺寫的不是很好。網(wǎng)上也有相關(guān)的webresource的介紹。但發(fā)現(xiàn)很多都是目前最新版本不支持的。不知道是不是以前ASP.NET2.0早期版本。所以才進(jìn)行了簡單的修改。
以后在努力了。
- ASP.NET2.0緩存(Cache)技術(shù)深入理解
- ASP.NET2.0中用Gridview控件操作數(shù)據(jù)的代碼
- ASP.NET2.0 SQL Server數(shù)據(jù)庫連接詳解
- asp.net2.0實(shí)現(xiàn)郵件發(fā)送(測試成功)
- 在ASP.NET2.0中通過Gmail發(fā)送郵件的代碼
- ASP.NET2.0+SQL Server2005構(gòu)建多層應(yīng)用
- ASP.NET2.0:頁面中鏈入的CSS、js文件帶中文時(shí)需注意
- ASP.NET2.0服務(wù)器控件之自定義狀態(tài)管理
- ASP.NET2.0中數(shù)據(jù)源控件之異步數(shù)據(jù)訪問
- Asp.Net2.0權(quán)限樹中Checkbox的操作
- ASP.Net2.0 GridView 多列排序,顯示排序圖標(biāo),分頁
- ASP.NET2.0服務(wù)器控件之類型轉(zhuǎn)換器
- ASP.NET2.0數(shù)據(jù)庫入門之SQL Server
- ASP.NET2.0數(shù)據(jù)庫入門之SqlDataSource
- asp.net2.0如何加密數(shù)據(jù)庫聯(lián)接字符串
- ASP.NET2.0新特性概述
- ASP.NET2.0服務(wù)器控件之Render方法
- asp.net2.0中css失效的解決方法
相關(guān)文章
Asp.net中獲取應(yīng)用程序完整Url路徑的小例子
Asp.net中獲取應(yīng)用程序完整Url路徑的小例子,需要的朋友可以參考一下2013-06-06
MVC+EasyUI+三層新聞網(wǎng)站建立 分頁查詢數(shù)據(jù)功能(七)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第七篇,教大家如何分頁查詢出數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
如何在.NET Core應(yīng)用中使用NHibernate詳解
NHibernate 是一個(gè)基于.Net 的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫。下面這篇文章主要給大家介紹了關(guān)于如何在.NET Core應(yīng)用中使用NHibernate的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-08-08
.NET 6開發(fā)TodoList應(yīng)用之實(shí)現(xiàn)API版本控制
API接口版本管理,對于一些規(guī)模稍大的企業(yè)應(yīng)用來說,是經(jīng)常需要關(guān)注的一大需求。本文將介紹在.NET 6開發(fā)中如何實(shí)現(xiàn)API版本控制,感興趣的可以了解一下2022-01-01
asp.net jquery無刷新分頁插件(jquery.pagination.js)
采用Jquery無刷新分頁插件jquery.pagination.js 實(shí)現(xiàn)無刷新分頁效果:本示例Handler中采用StringBuilder的append方法追加HTML,小數(shù)據(jù)量可以,但是大數(shù)據(jù)或是布局常變,建議返回JSON格式的數(shù)據(jù),性能和靈活性更好,望使用者好好把握2013-01-01
.NET?Core分布式鏈路追蹤框架的基本實(shí)現(xiàn)原理
這篇文章介紹了.NET?Core分布式鏈路追蹤框架的基本實(shí)現(xiàn)原理,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
Global.asax的Application_Error實(shí)現(xiàn)錯(cuò)誤記錄/錯(cuò)誤日志的代碼
本文為大家介紹下利用Global.asax的Application_Error實(shí)現(xiàn)錯(cuò)誤記錄,具體如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08
asp.net+xml+flash實(shí)現(xiàn)的圖片展示效果示例
這篇文章主要介紹了asp.net+xml+flash實(shí)現(xiàn)的圖片展示效果的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了圖片展示效果的相關(guān)操作步驟與flash與xml調(diào)用的相關(guān)技巧,需要的朋友可以參考下2016-08-08

