ClientScriptManager.GetWebResourceUrl(Type, String) Methode

Definition

Ruft einen URL-Verweis auf eine Ressource in einer Assembly ab.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

Parameter

type
Type

Der Typ der Ressource.The type of the resource.

resourceName
String

Der vollqualifizierte Name der Ressource in der Assembly.The fully qualified name of the resource in the assembly.

Gibt zurück

Der URL-Verweis auf die Ressource.The URL reference to the resource.

Ausnahmen

Der Webressourcentyp ist null.The web resource type is null.

- oder --or-

Der Webressourcenname ist null.The web resource name is null.

- oder --or- Der Webressourcenname hat eine Länge von 0 (null).The web resource name has a length of zero.

Beispiele

Im folgenden Codebeispiel wird die Verwendung GetWebResourceUrl der-Methode veranschaulicht.The following code example demonstrates the use of the GetWebResourceUrl method. Der Typparameter in diesem Beispiel wird auf den Typ der Klasse in der Assembly festgelegt, die die Ressource enthält.The type parameter in this example is set to the type of class in the assembly containing the resource. Der resourceName -Parameter wird mit dem voll qualifizierten Pfad der Ressource angegeben, die den Standard Namespace enthält.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>

Im folgenden Codebeispiel wird veranschaulicht, wie das WebResourceAttribute Metadatenattribut Programm gesteuert angewendet wird, um die Assembly für die zu verwendenden Ressourcen zu markieren.The following code example demonstrates how to programmatically apply the WebResourceAttribute metadata attribute to mark the assembly for the resources that will be served. Kompilieren Sie die folgende Klasse in einer Klassenbibliothek mit einem Standard Namespace, Samples.AspNet.CS.Controls der Samples.AspNet.VB.Controlsauf oder festgelegt ist, je nachdem, welche Sprache Sie verwenden.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

Dieses Beispiel erfordert eine JavaScript-Datei Script_include.jsmit dem Namen.This example requires a JavaScript file named Script_include.js. Die JS-Datei ist eine eingebettete Ressource in der Assembly, die ClientScriptResourceLabel das Objekt enthält.The .js file is an embedded resource in the assembly that contains the ClientScriptResourceLabel object. Wenn Sie Visual Studio verwenden, legen Sie in der Eigenschaftenfenster des Klassen Bibliotheks Projekts Buildaktion auf eingebettete Ressource fest, wenn die Skriptdatei ausgewählt ist. ****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. Wenn Sie die Bibliothek in der Befehlszeile kompilieren, verwenden Sie den Schalter /Resource , um die Ressource einzubetten.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.'}  

Hinweise

Die GetWebResourceUrl -Methode gibt einen URL-Verweis auf eine Ressource zurück, die in eine Assembly eingebettet ist.The GetWebResourceUrl method returns a URL reference to a resource embedded in an assembly. Der zurückgegebene Verweis ist nicht URL-codiert.The returned reference is not URL encoded. Ressourcen können Skriptdateien, Bilder oder eine beliebige statische Datei sein.Resources can be script files, images, or any static file. Sie geben den Typ basierend auf dem Objekt an, das auf die Ressource zugreift.You specify the type based on the object that will be accessing the resource.

Eine Webressource, die bei der Seite registriert ist, wird durch ihren Typ und Namen eindeutig identifiziert.A Web resource registered with the page is uniquely identified by its type and name. Bei der Seite kann nur eine Ressource mit einem bestimmten Typ und namens paar registriert werden.Only one resource with a given type and name pair can be registered with the page. Wenn Sie versuchen, eine Ressource zu registrieren, die bereits registriert ist, wird kein Duplikat der registrierten Ressource erstellt.Attempting to register a resource that is already registered does not create a duplicate of the registered resource.

Die GetWebResourceUrl -Methode wird zusammen mit der RegisterClientScriptResource -Methode zum Zugreifen auf Ressourcen verwendet, die in Assemblys eingebettet sind.The GetWebResourceUrl method is used in conjunction with the RegisterClientScriptResource method for accessing resources embedded in assemblies. Weitere Informationen zur Verwendung von Ressourcen in Anwendungen finden Sie unter Übersicht über ASP.NET Webseiten Ressourcen.For more information on using resources in applications, see ASP.NET Web Page Resources Overview.

Gilt für:

Siehe auch