Jetzt. Viele Entwickler nutzen bereits die WebResource-Funktionalität von ASP.NET 2.0. Mit WebResource können wir Ressourcen in Assemblys einbetten. Enthält Bilder, Text usw.
Bei der Einführung von WebResource müssen wir WebResource.axd einführen. Werfen wir einen Blick auf
script language="javascript" src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848" type="text/javascript"></ script >Derzeit habe ich festgestellt, dass sich die Parameter von webResource.axd von der aktuellen Version unterscheiden. Einführung in Eigenschaften in einem früheren Artikel:
ein Assemblyname
r-Ressourcendateiname
t Der Zeitpunkt, zu dem die Baugruppe zuletzt geändert wurde
webResource.axd ist nur eine Zuordnung in ISAPI. Sie können auch IhttpHandler verwenden. <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" /> webResource.axd verwendet die AssemblyResourceLoader-Klasse, um die Verarbeitung von HTTP-Anfragen anzupassen, und identifiziert basierend darauf, von welchem Programm es kommt das Programm, das von der Abfrage übergeben wurde, welche Ressource in der Assembly abgerufen werden soll.
Im Folgenden wird das Spinner-Steuerelement als Beispiel verwendet.
Nutzungsschritte:
Fügen Sie die einzubettende Ressource (z. B. ein Bild) zum Element hinzu. Klicken Sie im Ressourcenmanager auf Datei und wählen Sie in der Build-Aktion im Eigenschaftenfenster die eingebettete Ressource aus.
Fügen Sie der Datei „assessbly.cs“ die folgenden Dateien hinzu
[Assembly: WebResource("Obies.Web.UI.WebControls.NumericTextBox.js", "application/x-javascript")]
[Assembly: WebResource("Obies.Web.UI.WebControls.NumericTextBox_Silver_BtnUp.gif", "image/gif")] Bitte beachten Sie das WebResourceAttribute-Format:
[Assembly: WebResourceAttribute("MyNameSpaces.Resources.MyImage.gif", "image/gif")]
Im CONTROL-Quellcode. Sie müssen den folgenden Code verwenden, um das Bild zu erhalten
// WebResource-URLs für die eingebetteten GIF-Bilder abrufen
String BtnUpImgSrc = this.Page.ClientScript.GetWebResourceUrl(typeof(NumericTextBox),
„Obies.Web.UI.WebControls.NumericTextBox_“ + this.ImageSet.ToString() + „_BtnUp.gif“);GetWebResourceUrl-Methode: Ruft einen URL-Verweis auf eine serverseitige Ressource ab.
Ich habe es in einer früheren Version gefunden. Seine Verwendung ist: this.page.GetWebResourceUrl
Der obige Code ruft den Bildnamen aus der angegebenen Assembly ab: Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif, it Was wird zurückgegeben? die URL-Referenzadresse einer serverseitigen Ressource. Ähnlich:
WebResource.axd?d=gWYJBlnQKynoTePlJ34jxyoSpR2Rh9lpYd8ZrSl0&t=632812333820000000Darüber
hinaus stellt MS eine Header-Klasse bereit. Die Header-Klasse arbeitet hauptsächlich mit <Head runat="server"></head> in HTML-Seiten. Einschließlich Titel usw. Haha. In Zukunft wird es sehr einfach sein, den Titel einer Seite zu ändern.
this.Header.Title = "Dies ist der neue Seitentitel.";
CSS-Stil hinzufügen (Stilattribut) Style style = new Style();
style.ForeColor = System.Drawing.Color.Navy;
style.BackColor = System.Drawing.Color.LightGray;
// Den Stil zur Kopfzeile für den Hauptteil der Seite hinzufügen
this.Header.StyleSheet.CreateStyleRule(style, null, "body");
protected override void OnPreRender (EventArgs e) {
// Holen Sie sich eine WebResource-URL für das Kern-JS-Skript und registrieren Sie es
this.Page.ClientScript.RegisterClientScriptResource(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox.js");
// eine WebResource-URL für das eingebettete CSS abrufen
String css = this.Page.ClientScript.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet + ".css");
// das CSS registrieren
// this.Page.StyleSheetTheme = css;
//this.Page.Header.LinkedStyleSheets.Add (css);
//Frühere Version der Methode? Es kann nur mit dem folgenden Code gelöst werden
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
}
Hier ist ein Screenshot zur
Verwendung des Spinner-Steuerelements:
<%@ 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>
Quelladresse: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
dnvs05/html/webresource.asp
Aufgrund einiger Probleme mit dem Originalcode werden viele Funktionen vom neuesten VS2005 nicht unterstützt. Es wurden also Modifikationen vorgenommen.
Quellcode-Download: