Afficher en anglais

Partage via


WebResourceAttribute Classe

Définition

Définit l'attribut de métadonnées qui active une ressource incorporée dans un assembly. Cette classe ne peut pas être héritée.

C#
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class WebResourceAttribute : Attribute
Héritage
WebResourceAttribute
Attributs

Exemples

Cette section contient deux exemples de code. Le premier exemple de code montre comment appliquer l’attribut WebResourceAttribute à un espace de noms qui définit un contrôle personnalisé, MyCustomControl. Le deuxième exemple de code montre comment utiliser la MyCustomControl classe dans une page Web.

L’exemple de code suivant montre comment appliquer l’attribut WebResourceAttribute sur un assembly personnalisé pour définir une ressource Web image et une ressource Web HTML. La MyCustomControl classe définit un contrôle composite qui utilise les ressources pour définir la valeur de la ImageUrl propriété d’un Image contrôle contenu dans le contrôle composite et pour définir la HRef propriété d’un HtmlAnchor contrôle lié à la ressource HTML.

C#
using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

[assembly: WebResource("image1.jpg", "image/jpeg")]
[assembly: WebResource("help.htm", "text/html", PerformSubstitution=true)]
namespace Samples.AspNet.CS.Controls
{

    public class MyCustomControl : Control
    {

        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
        protected override void CreateChildControls()
        {
            
            // Create a new Image control.
            Image _img = new Image();
            _img.ImageUrl = this.Page.ClientScript.GetWebResourceUrl(typeof(MyCustomControl), "image1.jpg");
            this.Controls.Add(_img);

            // Create a new Label control.
            Label _lab = new Label();
            _lab.Text = "A composite control using the WebResourceAttribute class.";
            this.Controls.Add(_lab);

            // Create a new HtmlAnchor control linking to help.htm.
            HtmlAnchor a = new HtmlAnchor();
            a.HRef = this.Page.ClientScript.GetWebResourceUrl(typeof(MyCustomControl), "help.htm");
            a.InnerText = "help link";
            this.Controls.Add(new LiteralControl("<br />"));
            this.Controls.Add(a);
        }
    }
}

L’exemple de code suivant montre comment utiliser la MyCustomControl classe dans une page Web.

ASP.NET (C#)
<%@ Page Language="C#" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS.Controls" %>
<%@ Import Namespace="System.Reflection" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
            
    // Get the assembly metatdata.
    Type clsType = typeof(MyCustomControl);
    Assembly a = clsType.Assembly;

    // Iterate through the attributes for the assembly.
    foreach (Attribute attr in Attribute.GetCustomAttributes(a))
    {
      //Check for WebResource attributes.
      if (attr.GetType() == typeof(WebResourceAttribute))
      {
        WebResourceAttribute wra = (WebResourceAttribute)attr;
        Response.Write("Resource in the assembly: " + wra.WebResource.ToString() +
          " with ContentType = " + wra.ContentType.ToString() +
          " and PerformsSubstitution = " + wra.PerformSubstitution.ToString() + "</br>");
      }
    }
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>WebResourceAttribute Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <AspNetSamples:MyCustomControl id="MyCustomControl1" runat="server">
      </AspNetSamples:MyCustomControl>    
    </div>
    </form>
</body>
</html>

Cet exemple nécessite que vous compilez les ressources Image1.jpg et Help.htm avec l’assembly qui contient MyCustomControl. Pour plus d’informations, consultez /resource (Options du compilateur C#) ou /resource (Visual Basic).

Un exemple de ressource web HTML pouvant être utilisée dans cet exemple est présenté ci-dessous. Notez l’utilisation de la WebResource syntaxe, qui est utilisée lorsque vous définissez la propriété sur PerformSubstitutiontrue pour une ressource Web.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html >

<head>

<title>Included Help Page</title>

</head>

<body>

<div>

<img alt="help image" src=<% = WebResource("image1.jpg") %> />

Included help file.

</div>

</body>

</html>

Remarques

La WebResourceAttribute classe est valide uniquement lorsqu’elle est utilisée sur les déclarations d’assembly. Il est utilisé pour activer une ressource incorporée spécifiée dans un assembly à utiliser en tant que ressource Web.

Pour plus d’informations sur les ressources, consultez ASP.NET Vue d’ensemble des ressources de page web.

Constructeurs

WebResourceAttribute(String, String)

Initialise une nouvelle instance de la classe WebResourceAttribute avec le type spécifié de ressource Web et de contenu de ressource.

Propriétés

CdnPath

Obtient ou définit le chemin d'accès à un réseau CDN (Content Delivery Network) qui contient des ressources Web.

CdnSupportsSecureConnection

Obtient ou définit une valeur qui indique à ScriptManager si l'accès à une ressource de script doit se faire en utilisant une connexion sécurisée via le chemin d'accès CDN (Content Delivery Network) lorsque l'accès à la page s'effectue par HTTPS.

ContentType

Obtient une chaîne qui contient le type MIME de la ressource référencée par la classe WebResourceAttribute.

LoadSuccessExpression

Obtient ou définit une expression utilisée lorsqu'une ressource Web a été chargée correctement.

PerformSubstitution

Obtient ou définit une valeur Boolean qui détermine si, au cours du traitement de la ressource incorporée référencée par la classe WebResourceAttribute, les URL d'autres ressources Web sont analysées et remplacées par le chemin d'accès complet à la ressource.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)
WebResource

Obtient une chaîne qui contient le nom de la ressource référencée par la classe WebResourceAttribute.

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Produit Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Voir aussi