WebResourceAttribute Klasa

Definicja

Definiuje atrybut metadanych, który umożliwia osadzony zasób w zestawie.Defines the metadata attribute that enables an embedded resource in an assembly. Klasa ta nie może być dziedziczona.This class cannot be inherited.

public ref class WebResourceAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class WebResourceAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type WebResourceAttribute = class
    inherit Attribute
Public NotInheritable Class WebResourceAttribute
Inherits Attribute
Dziedziczenie
WebResourceAttribute
Atrybuty

Przykłady

Ten rozdział zawiera dwa przykłady kodu.This section contains two code examples. Pierwszy przykład kodu demonstruje, jak zastosować WebResourceAttribute atrybut do przestrzeni nazw, która definiuje kontrolkę niestandardową MyCustomControl .The first code example demonstrates how to apply the WebResourceAttribute attribute to a namespace that defines a custom control, MyCustomControl. Drugi przykład kodu demonstruje, jak używać MyCustomControl klasy na stronie sieci Web.The second code example demonstrates how to use the MyCustomControl class in a Web page.

Poniższy przykład kodu demonstruje, jak zastosować WebResourceAttribute atrybut w zestawie niestandardowym w celu zdefiniowania zasobu sieci Web obrazu i zasobu sieci Web w formacie HTML.The following code example demonstrates how to apply the WebResourceAttribute attribute on a custom assembly to define an image Web resource and an HTML Web resource. MyCustomControlKlasa definiuje formant złożony, który używa zasobów do ustawiania wartości ImageUrl właściwości Image kontrolki, która jest zawarta w kontrolce złożonej i ustawiania HRef właściwości HtmlAnchor kontrolki łączącej z zasobem html.The MyCustomControl class defines a composite control that uses the resources to set the value of the ImageUrl property of an Image control that is contained within the composite control and to set the HRef property of an HtmlAnchor control linking to the HTML resource.

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);
        }
    }
}
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.WebControls

<Assembly: WebResource("image1.gif", "image/jpeg")> 
<Assembly: WebResource("help.htm", "text/html", PerformSubstitution:=True)> 
Namespace Samples.AspNet.VB.Controls

    Public Class MyCustomControl
        Inherits Control

        <System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
        Protected Overrides Sub CreateChildControls()

            ' Create a new Image control.
            Dim _img As New Image()
            _img.ImageUrl = Me.Page.ClientScript.GetWebResourceUrl(GetType(MyCustomControl), "image1.jpg")
            Me.Controls.Add(_img)

            ' Create a new Label control.
            Dim _lab As New Label()
            _lab.Text = "A composite control using the WebResourceAttribute class."
            Me.Controls.Add(_lab)

            ' Create a new HtmlAnchor control linking to help.htm.
            Dim a As HtmlAnchor = New HtmlAnchor()
            a.HRef = Me.Page.ClientScript.GetWebResourceUrl(GetType(MyCustomControl), "help.htm")
            a.InnerText = "help link"
            Me.Controls.Add(New LiteralControl("<br />"))
            Me.Controls.Add(a)

        End Sub
    End Class

End Namespace

Poniższy przykład kodu demonstruje sposób użycia MyCustomControl klasy na stronie sieci Web.The following code example demonstrates how to use the MyCustomControl class in a Web page.

<%@ 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>
<%@ Page Language="VB" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB.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 Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Get the assembly metatdata.
    Dim clsType As Type = GetType(MyCustomControl)
    Dim a As Assembly = clsType.Assembly
    
    For Each attr As Attribute In Attribute.GetCustomAttributes(a)
      'Check for WebResource attributes.
      If attr.GetType() Is GetType(WebResourceAttribute) Then
        Dim wra As WebResourceAttribute = CType(attr, WebResourceAttribute)
        Response.Write("Resource in the assembly: " & wra.WebResource.ToString() & _
        " with ContentType = " & wra.ContentType.ToString() & _
        " and PerformsSubstitution = " & wra.PerformSubstitution.ToString() & "</br>")
      End If
    Next attr
    
    
  End Sub
  
</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>

Ten przykład wymaga skompilowania Image1.jpg i Help.htm zasobów z zestawem zawierającym MyCustomControl .This example requires that you compile the Image1.jpg and Help.htm resources with the assembly that contains MyCustomControl. Aby uzyskać więcej informacji, zobacz, /Resource (opcje kompilatora C#) lub /Resource (Visual Basic).For more information, see, /resource (C# Compiler Options) or /resource (Visual Basic).

Przykładem zasobu sieci Web w formacie HTML, który może zostać użyty w tym przykładzie, przedstawiono dalej.An example of an HTML Web resource that could be used in this example is shown next. Zwróć uwagę na użycie WebResource składni, która jest używana podczas ustawiania PerformSubstitution właściwości true dla zasobu sieci Web.Note the use of the WebResource syntax, which is used when you set the PerformSubstitution property to true for a Web resource.

<!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>

Uwagi

WebResourceAttributeKlasa jest prawidłowa tylko wtedy, gdy jest używana w deklaracjach zestawu.The WebResourceAttribute class is valid only when used on assembly declarations. Służy do włączania określonego zasobu osadzonego w zestawie, który ma być używany jako zasób sieci Web.It is used to enable a specified embedded resource in an assembly for use as a Web resource.

Aby uzyskać więcej informacji o zasobach, zobacz Omówienie zasobów strony sieci Web ASP.NET.For more information on resources, see ASP.NET Web Page Resources Overview.

Konstruktory

WebResourceAttribute(String, String)

Inicjuje nowe wystąpienie WebResourceAttribute klasy z określonym zasobem sieci Web i typem zawartości zasobu.Initializes a new instance of the WebResourceAttribute class with the specified Web resource and resource content type.

Właściwości

CdnPath

Pobiera lub ustawia ścieżkę Content Delivery Network (CDN), która zawiera zasoby sieci Web.Gets or set the path of a Content Delivery Network (CDN) that contains Web resources.

CdnSupportsSecureConnection

Pobiera lub ustawia wartość wskazującą, ScriptManager czy zasób skryptu ma być dostępny przy użyciu bezpiecznego połączenia z ścieżką usługi Content Delivery Network (CDN), gdy dostęp do strony odbywa się przy użyciu protokołu HTTPS.Gets or set a value that indicates to the ScriptManager whether a script resource should be accessed using a secure connection to the content delivery network (CDN) path when the page is accessed using HTTPS.

ContentType

Pobiera ciąg zawierający typ MIME zasobu, do którego odwołuje się WebResourceAttribute Klasa.Gets a string containing the MIME type of the resource that is referenced by the WebResourceAttribute class.

LoadSuccessExpression

Pobiera lub ustawia wyrażenie, które jest używane w przypadku pomyślnego załadowania zasobu sieci Web.Gets or sets an expression that is used when a Web resource has successfully loaded.

PerformSubstitution

Pobiera lub ustawia wartość logiczną określającą, czy podczas przetwarzania zasobu osadzonego, do którego odwołuje się WebResourceAttribute Klasa, są analizowane inne adresy URL zasobów sieci Web i zastąpione pełną ścieżką do zasobu.Gets or sets a Boolean value that determines whether, during processing of the embedded resource referenced by the WebResourceAttribute class, other Web resource URLs are parsed and replaced with the full path to the resource.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute .When implemented in a derived class, gets a unique identifier for this Attribute.

(Odziedziczone po Attribute)
WebResource

Pobiera ciąg zawierający nazwę zasobu, do którego odwołuje się WebResourceAttribute Klasa.Gets a string containing the name of the resource that is referenced by the WebResourceAttribute class.

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.Returns a value that indicates whether this instance is equal to a specified object.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.Returns the hash code for this instance.

(Odziedziczone po Attribute)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
IsDefaultAttribute()

Gdy jest zastępowany w klasie pochodnej, wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Odziedziczone po Attribute)
Match(Object)

Gdy jest zastępowany w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest zgodne z określonym obiektem.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.Maps a set of names to a corresponding set of dispatch identifiers.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.Provides access to properties and methods exposed by an object.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też