Je l'ai fait dans plusieurs projets ASP.NET sans un gestionnaire HTTP. Imaginons que vous ayez une image nommée "Fingerprint.jpg" et que vous la placiez dans un sous-dossier nommé "Images" dans votre bibliothèque de contrôle Web dont l'espace de noms est "MonNamespace". Effectivement l'espace de noms calculé de votre image serait "MyNamespace.Images". Marquez cette image avec l'action de construction "Embedded Resource". Supposons maintenant que dans cette bibliothèque de contrôle Web, vous avez une classe de contrôle Web nommée "MyNamespace.SampleWebControl".
Dans AssemblyInformation.cs j'ajouté quelque chose comme ça pour chaque image:
[assemblage: System.Web.UI.WebResource ("MyNamespace.Images.Fingerprint.jpg", "image/jpg")]
où dans l'exemple ci-dessus l'image Fingerpint.jpg est stockée dans le dossier nommé "Images" juste en dessous du répertoire racine de la bibliothèque de contrôle Web.
Puis, dans la codebehind page asp.net vous pouvez utiliser quelque chose comme ceci:
string imgName = "MyNamespace.Images.Fingerprint.jpg";
Type ctrlType = typeof(MyNamespace.SampleWebControl);
string imageUrl = Page.ClientScript.GetWebResourceUrl(ctrlType, imgName);
Et vous pouvez utiliser cette valeur ImageUrl comme l'URL de l'image dans un contrôle d'image ou une balise HTML IMG.
Comment vous référeriez-vous à cette 'image' dans votre page? – Lazarus
Puis j'obtiendrais une référence à l'image en utilisant l'url WebResource. Exemple: '/WebResource.axd? ...' –