今。多くの開発者がすでに ASP.NET 2.0 の WebResource 機能を使用しています。 WebResource を使用すると、リソースをアセンブリに埋め込むことができます。画像やテキストなどが含まれます。
WebResource を導入する場合、WebResource.axd を導入する必要があります。
スクリプト language="javascript" src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848" type="text/javascript"></ script >現状、webResource.axdのパラメータが現在のバージョンと異なることが分かりました。以前の記事でプロパティを紹介しました。
アセンブリ名
r リソースファイル名
t アセンブリが最後に変更された時刻
webResource.axd は、ISAPI の単なるマッピングです。 IhttpHandler を使用することもできます。 <addverb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" /> webResource.axd は、AssemblyResourceLoader クラスを使用して HTTP 要求の処理をカスタマイズし、次の情報に基づいてどのプログラムの送信元かを識別します。クエリによって渡されるプログラム。アセンブリで取得するリソース。
以下では、例としてスピナー コントロールを使用します。
使用手順:
埋め込むリソース (画像など) をアイテムに追加します。リソース マネージャーで [ファイル] をクリックし、プロパティ ウィンドウのビルド アクションで埋め込みリソースを選択します。
次のファイルをassesbly.csファイルに追加します。
[アセンブリ: WebResource("Obies.Web.UI.WebControls.NumericTextBox.js", "application/x-javascript")]
[アセンブリ: WebResource("Obies.Web.UI.WebControls.NumericTextBox_Silver_BtnUp.gif", "image/gif")] WebResourceAttribute の形式に注意してください。
[アセンブリ: WebResourceAttribute("MyNameSpaces.Resources.MyImage.gif", "image/gif")]
CONTROL ソースコード内。画像を取得するには次のコードを使用する必要があります
// 埋め込まれた gif 画像の WebResource URL を取得します
String BtnUpImgSrc = this.Page.ClientScript.GetWebResourceUrl(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif");GetWebResourceUrl メソッド: サーバー側リソースへの URL 参照を取得します。
以前のバージョンで見つけました。その使用法は次のとおりです: this.page.GetWebResourceUrl
上記のコードは、指定されたアセンブリからイメージ名を取得します: Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif, it 返されるものは次のとおりです。サーバー側リソースの URL 参照アドレス。以下に似ています:
WebResource.axd?d=gWYJBlnQKynoTePlJ34jxyoSpR2Rh9lpYd8ZrSl0&t=632812333820000000
さらに、MS は Header クラスを提供します。 Header クラスは主に HTML ページの <Head runat="server"></head> 上で動作します。タイトルなども含めて、ははは。将来的には、ページのタイトルを変更するのが非常に簡単になるでしょう。
this.Header.Title = "これは新しいページのタイトルです。";
CSS スタイルの追加 (style 属性) Style style = new Style();
style.ForeColor = System.Drawing.Color.Navy;
style.BackColor = System.Drawing.Color.LightGray
// ページ本文のヘッダーにスタイルを追加します。
this.Header.StyleSheet.CreateStyleRule(style, null, "body");
protected override void OnPreRender (EventArgs e) {
// コア JS スクリプトの WebResource URL を取得して登録します
this.Page.ClientScript.RegisterClientScriptResource(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox.js");
// 埋め込まれた CSS の WebResource URL を取得します
String css = this.Page.ClientScript.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet + ".css");
// CSSを登録する
// this.Page.StyleSheetTheme = css;
//this.Page.Header.LinkedStyleSheets.Add (css);
//メソッドの以前のバージョン?次のコードでのみ解決できます
HtmlLink リンク = new HtmlLink();
link.Attributes.Add("タイプ", "テキスト/CSS");
link.Attributes.Add("rel", "スタイルシート");
link.Attributes.Add("href", css);
this.Page.Header.Controls.Add(リンク)
;
スピナー コントロールの使用方法
のスクリーンショットです
。
<%@ register tagprefix="cc" namespace="Obies.Web.UI.WebControls" Assembly="Obies.Web.UI.WebControls" %>
<cc:NumericTextBox width="50" ImageSet="Silver" length=" 2" runat="サーバー" 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
元のコードにいくつかの問題があるため、多くの機能が最新の VS2005 ではサポートされていません。そこで修正が加えられました。
ソースコードのダウンロード: