ClientScriptManager.GetWebResourceUrl(Type, String) Méthode

Définition

Obtient une référence de type URL à une ressource dans un assembly.

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

Paramètres

type
Type

Type de la ressource.

resourceName
String

Nom qualifié complet de la ressource dans l'assembly.

Retours

Référence de type URL à la ressource.

Exceptions

Le type de la ressource Web est null.

- ou -

Le nom de la ressource Web est null.

- ou -

La longueur du nom de la ressource Web est de zéro.

Exemples

L’exemple de code suivant illustre l’utilisation de la GetWebResourceUrl méthode . Dans cet exemple, le paramètre de type est défini sur le type de classe dans l’assembly contenant la ressource. Le resourceName paramètre est spécifié avec le chemin complet de la ressource, qui inclut l’espace de noms par défaut.

<%@ 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>

L’exemple de code suivant montre comment appliquer par programmation l’attribut WebResourceAttribute de métadonnées pour marquer l’assembly pour les ressources qui seront servies. Compilez la classe suivante dans une bibliothèque de classes avec un espace de noms par défaut défini Samples.AspNet.CS.Controls sur ou Samples.AspNet.VB.Controls, en fonction de la langue que vous utilisez.

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

Cet exemple nécessite un fichier JavaScript nommé Script_include.js. Le fichier .js est une ressource incorporée dans l’assembly qui contient l’objet ClientScriptResourceLabel . Si vous utilisez Visual Studio, dans le Fenêtre Propriétés du projet de bibliothèque de classes, définissez Action de génération sur Ressource incorporée lorsque le fichier de script est sélectionné. Si vous compilez la bibliothèque sur la ligne de commande, utilisez le commutateur /resource pour incorporer la ressource.

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

Remarques

La GetWebResourceUrl méthode retourne une référence d’URL à une ressource incorporée dans un assembly. La référence retournée n’est pas encodée dans l’URL. Les ressources peuvent être des fichiers de script, des images ou n’importe quel fichier statique. Vous spécifiez le type en fonction de l’objet qui accédera à la ressource.

Une ressource web inscrite auprès de la page est identifiée de manière unique par son type et son nom. Une seule ressource avec une paire de types et de noms donnés peut être inscrite auprès de la page. La tentative d’inscription d’une ressource déjà inscrite ne crée pas de doublon de la ressource inscrite.

La GetWebResourceUrl méthode est utilisée conjointement avec la méthode d’accès RegisterClientScriptResource aux ressources incorporées dans les assemblys. Pour plus d’informations sur l’utilisation de ressources dans les applications, consultez ASP.NET Vue d’ensemble des ressources de page web.

S’applique à

Voir aussi