WebResourceAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет атрибут метаданных, который используется для разрешения внедренного ресурса в сборке. Этот класс не наследуется.
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
- Наследование
- Атрибуты
Примеры
Этот раздел содержит два примера кода. В первом примере кода показано, как применить WebResourceAttribute атрибут к пространству имен, определяющему пользовательский элемент управления , MyCustomControl
. Во втором примере кода показано, как использовать класс на MyCustomControl
веб-странице.
В следующем примере кода показано, как применить WebResourceAttribute атрибут к пользовательской сборке, чтобы определить веб-ресурс изображения и веб-ресурс HTML. Класс MyCustomControl
определяет составной элемент управления, который использует ресурсы для задания значения ImageUrl свойства Image элемента управления, содержащегося в составном элементе управления, и для задания HRef свойства элемента управления, связывающегося с ресурсом HtmlAnchor HTML.
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
В следующем примере кода показано, как использовать класс на MyCustomControl
веб-странице.
<%@ 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>
В этом примере требуется скомпилировать Image1.jpg и Help.htm ресурсы с помощью сборки MyCustomControl
, содержащей . Дополнительные сведения см. в разделе /resource (параметры компилятора C#) или /resource (Visual Basic).
Ниже приведен пример веб-ресурса HTML, который можно использовать в этом примере. Обратите внимание на использование синтаксиса WebResource
, который используется при присвоении свойству PerformSubstitution значения true
для веб-ресурса.
<!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>
Комментарии
Класс WebResourceAttribute допустим только при использовании в объявлениях сборки. Он используется для включения указанного внедренного ресурса в сборке для использования в качестве веб-ресурса.
Дополнительные сведения о ресурсах см. в статье Общие сведения о ресурсах веб-страницы ASP.NET.
Конструкторы
WebResourceAttribute(String, String) |
Инициализирует новый экземпляр класса WebResourceAttribute с указанным типом веб-ресурса и содержимым ресурса. |
Свойства
CdnPath |
Получает или задает путь к сети доставки содержимого (CDN), содержащей веб-ресурсы. |
CdnSupportsSecureConnection |
Получает или задает значение, показывающее диспетчеру ScriptManager, нужно ли осуществлять доступ к ресурсу скрипта с использованием безопасного подключения к сети доставки содержимого (CDN), если доступ к странице осуществляется с использованием HTTPS-протокола. |
ContentType |
Возвращает строку, содержащую тип источника MIME, на который ссылается класс WebResourceAttribute. |
LoadSuccessExpression |
Получает или задает выражение, которое используется, когда интернет-ресурс успешно загружен. |
PerformSubstitution |
Возвращает или задает логическое значение, определяющее, анализируются и заменяются ли во время обработки внедренных ресурсов классом WebResourceAttribute другие URL-адреса веб-ресурсов с полным путем к ресурсу. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
WebResource |
Возвращает строку, содержащую имя источника, на который ссылается класс WebResourceAttribute. |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute) |