ClientScriptManager.GetWebResourceUrl(Type, String) Метод

Определение

Возвращает ссылку URL-адреса на ресурс в сборке.Gets a URL reference to a resource in an assembly.

public:
 System::String ^ GetWebResourceUrl(Type ^ type, System::String ^ resourceName);
public string GetWebResourceUrl (Type type, string resourceName);
member this.GetWebResourceUrl : Type * string -> string

Параметры

type
Type

Тип ресурса.The type of the resource.

resourceName
String

Полное имя ресурса в сборке.The fully qualified name of the resource in the assembly.

Возвращаемое значение

Ссылка URL-адреса на ресурс.The URL reference to the resource.

Исключения

Тип веб-ресурса — null.The web resource type is null.

-или--or-

Имя веб-ресурса — null.The web resource name is null.

- или --or- Длина имени веб-ресурса равна 0.The web resource name has a length of zero.

Примеры

В следующем примере кода показано использование GetWebResourceUrl метода.The following code example demonstrates the use of the GetWebResourceUrl method. Параметр типа в этом примере устанавливается в тип класса в сборке, содержащей ресурс.The type parameter in this example is set to the type of class in the assembly containing the resource. resourceName Параметр указывается с полным путем к ресурсу, который включает пространство имен по умолчанию.The resourceName parameter is specified with the fully qualified path to the resource, which includes the default namespace.

<%@ Page Language="C#"%>
<%@ Import Namespace="Samples.AspNet.CS.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  public void Page_Load(Object sender, EventArgs e)
  {
    // Define the resource name and type.
    String rsname = "Samples.AspNet.CS.Controls.script_include.js";
    Type rstype = typeof(ClientScriptResourceLabel);
        
    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Write out the web resource url.
    ResourcePath.InnerHtml = cs.GetWebResourceUrl(rstype, rsname);

    // Register the client resource with the page.
    cs.RegisterClientScriptResource(rstype, rsname);

  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form    id="Form1"
            runat="server">
     The web resource path is 
     <span  id="ResourcePath"
            runat="server"/>.
     <br />
     <br />
     <input type="text" 
            id="Message" />     
     <input type="button" 
            onclick="DoClick()" 
            value="ClientClick" />
     </form>
  </body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="Samples.AspNet.VB.Controls" %>

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

    ' Define the resource name and type.
    Dim rsname As String = "Samples.AspNet.VB.Controls.script_include.js"
    Dim rstype As Type = GetType(ClientScriptResourceLabel)
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript
    
    ' Write out the web resource url.
    ResourcePath.InnerHtml = cs.GetWebResourceUrl(rstype, rsname)
    
    ' Register the client resource with the page.
    cs.RegisterClientScriptResource(rstype, rsname)
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form    id="Form1"
            runat="server">
     The web resource path is 
     <span  id="ResourcePath"
            runat="server"/>.
     <br />
     <br />
     <input type="text" 
            id="Message" />     
     <input type="button" 
            onclick="DoClick()" 
            value="ClientClick" />
     </form>
  </body>
</html>

В следующем примере кода показано, как программно применить WebResourceAttribute атрибут метаданных, чтобы пометить сборку для ресурсов, которые будут обслуживаться.The following code example demonstrates how to programmatically apply the WebResourceAttribute metadata attribute to mark the assembly for the resources that will be served. Скомпилируйте следующий класс в библиотеке классов с пространством имен по умолчанию, Samples.AspNet.CS.Controls заданным как, или Samples.AspNet.VB.Controls, в зависимости от используемого языка.Compile the following class in a class library with a default namespace set to Samples.AspNet.CS.Controls or Samples.AspNet.VB.Controls, depending on what language you are using.

using System;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;

[assembly: WebResource("Samples.AspNet.CS.Controls.script_include.js", "application/x-javascript")]
namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public class ClientScriptResourceLabel
    {
        // Class code goes here.
    }
}
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions

<Assembly: WebResource("Samples.AspNet.VB.Controls.script_include.js", "application/x-javascript")> 
Namespace Samples.AspNet.VB.Controls

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class ClientScriptResourceLabel

        ' Class code goes here.

    End Class

End Namespace

Для этого примера требуется файл JavaScript с Script_include.jsименем.This example requires a JavaScript file named Script_include.js. JS-файл является внедренным ресурсом в сборке, содержащей ClientScriptResourceLabel объект.The .js file is an embedded resource in the assembly that contains the ClientScriptResourceLabel object. Если вы используете Visual Studio, в окно свойств проекта библиотеки классов задайте для действия сборки значение внедренный ресурс при выборе файла скрипта.If you are using Visual Studio, in the Properties window of the class library project, set Build Action to Embedded Resource when the script file is selected. При компиляции библиотеки в командной строке используйте параметр /Resource , чтобы внедрить ресурс.If you are compiling the library at the command line, use the /resource switch to embed the resource.

function DoClick() {Form1.Message.value='Text from resource script.'}  

Комментарии

GetWebResourceUrl Метод возвращает ссылку URL-адреса на ресурс, внедренный в сборку.The GetWebResourceUrl method returns a URL reference to a resource embedded in an assembly. Возвращенная ссылка не является URL-адресом в кодировке.The returned reference is not URL encoded. Ресурсы могут быть файлами скриптов, изображениями или любыми статическими файлами.Resources can be script files, images, or any static file. Тип указывается на основе объекта, который будет обращаться к ресурсу.You specify the type based on the object that will be accessing the resource.

Веб-ресурс, зарегистрированный на странице, однозначно идентифицируется по типу и имени.A Web resource registered with the page is uniquely identified by its type and name. На странице можно зарегистрировать только один ресурс с заданной парой типа и именем.Only one resource with a given type and name pair can be registered with the page. При попытке регистрации ресурса, который уже зарегистрирован, не создается дубликат зарегистрированного ресурса.Attempting to register a resource that is already registered does not create a duplicate of the registered resource.

Метод используется в сочетании RegisterClientScriptResource с методом доступа к ресурсам, внедренным в сборки. GetWebResourceUrlThe GetWebResourceUrl method is used in conjunction with the RegisterClientScriptResource method for accessing resources embedded in assemblies. Дополнительные сведения об использовании ресурсов в приложениях см. в разделе ASP.NET Web Page Resources Overview.For more information on using resources in applications, see ASP.NET Web Page Resources Overview.

Применяется к

Дополнительно