Maintenant. De nombreux développeurs utilisent déjà la fonctionnalité WebResource d'ASP.NET 2.0. WebResource nous permet d'intégrer des ressources dans des assemblys. Comprend des images, du texte, etc.
Lors de l'introduction de WebResource, nous devons introduire WebResource.axd. Jetons un coup d'œil au
langage de script="javascript" src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848" type="text/javascript"></. script >À l'heure actuelle, j'ai constaté que les paramètres de webResource.axd sont différents de la version actuelle. Présentation des propriétés dans un article précédent :
un nom d'assemblage
r nom du fichier de ressources
t L'heure à laquelle l'assemblage a été modifié pour la dernière fois
webResource.axd n'est qu'un mappage dans ISAPI. Vous pouvez également utiliser IhttpHandler. <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" /> webResource.axd utilise la classe AssemblyResourceLoader pour personnaliser le traitement des requêtes HTTP et identifie le programme d'où provient le programme passé par la requête. Quelle ressource obtenir dans l'assembly.
Ce qui suit utilise le contrôle spinner comme exemple.
Étapes d'utilisation :
Ajoutez la ressource à incorporer (telle qu'une image) à l'élément. Dans le gestionnaire de ressources, cliquez sur Fichier, sélectionnez la ressource incorporée dans l'action de construction dans la fenêtre des propriétés.
Ajoutez les fichiers suivants à votre fichierassessbly.cs
[assembly : WebResource("Obies.Web.UI.WebControls.NumericTextBox.js", "application/x-javascript")]
[assembly : WebResource("Obies.Web.UI.WebControls.NumericTextBox_Silver_BtnUp.gif", "image/gif")] Veuillez noter le format WebResourceAttribute :
[assembly : WebResourceAttribute("MyNameSpaces.Resources.MyImage.gif", "image/gif")]
Dans le code source CONTROL. Vous devez utiliser le code suivant pour obtenir l'image
// récupère les URL WebResource pour les images GIF intégrées
Chaîne BtnUpImgSrc = this.Page.ClientScript.GetWebResourceUrl(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif"); Méthode GetWebResourceUrl : obtient une référence URL à une ressource côté serveur).
Je l'ai trouvé dans une version antérieure. Son utilisation est la suivante : this.page.GetWebResourceUrl
Le code ci-dessus obtient le nom de l'image de l'assembly spécifié : Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif, ce qui est renvoyé est l'adresse de référence URL d'une ressource côté serveur. Similaire à :
WebResource.axd?d=gWYJBlnQKynoTePlJ34jxyoSpR2Rh9lpYd8ZrSl0&t=632812333820000000De
plus, MS fournit une classe Header. La classe Header opère principalement sur <Head runat="server"></head> dans les pages HTML. Y compris le titre, etc. Haha. Il sera très simple de modifier le titre d’une page à l’avenir.
this.Header.Title = "Ceci est le nouveau titre de la page.";
Ajouter un style CSS (attribut style) Style style = new Style();
style.ForeColor = System.Drawing.Color.Navy;
style.BackColor = System.Drawing.Color.LightGray;
// Ajoute le style à l'en-tête du corps de la page
this.Header.StyleSheet.CreateStyleRule(style, null, "body");
protected override void OnPreRender (EventArgs e) {
// récupère une URL WebResource pour le script JS principal et l'enregistre
this.Page.ClientScript.RegisterClientScriptResource(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox.js");
// récupère une URL WebResource pour le CSS intégré
Chaîne css = this.Page.ClientScript.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet + ".css");
// enregistre le CSS
// this.Page.StyleSheetTheme = css;
//this.Page.Header.LinkedStyleSheets.Add (css);
//Version antérieure de la méthode ? Cela ne peut être résolu qu'avec le code suivant
Lien HtmlLink = new HtmlLink();
lien.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "feuille de style");
lien.Attributes.Add("href", css);
this.Page.Header.Controls.Add(lien }
)
Voici une capture d'écran de
la façon d'utiliser le contrôle spinner :
<%@ register tagprefix="cc" namespace="Obies.Web.UI.WebControls" assembly="Obies.Web.UI.WebControls" %>
<cc:NumericTextBox width="50" ImageSet="Silver" length=" 2" runat="serveur" 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>
Adresse source : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
dnvs05/html/webresource.asp
En raison de quelques problèmes avec le code d'origine, de nombreuses fonctionnalités ne sont pas prises en charge par le dernier VS2005. Des modifications ont donc été apportées.
Téléchargement du code source :