ClientScriptManager.GetWebResourceUrl(Type, String) Metod

Definition

Hämtar en URL-referens till en resurs i en sammansättning.

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

Parametrar

type
Type

Resurstypen.

resourceName
String

Det fullständigt kvalificerade namnet på resursen i sammansättningen.

Returer

URL-referensen till resursen.

Undantag

Webbresurstypen är null.

-eller-

Webbresursnamnet är null.

-eller-

Webbresursnamnet har en längd på noll.

Exempel

I följande kodexempel visas hur metoden används GetWebResourceUrl . Typparametern i det här exemplet är inställd på typen av klass i sammansättningen som innehåller resursen. Parametern resourceName anges med den fullständigt kvalificerade sökvägen till resursen, som innehåller standardnamnområdet.

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

Följande kodexempel visar hur du programmatiskt tillämpar metadataattributet WebResourceAttribute för att markera sammansättningen för de resurser som ska hanteras. Kompilera följande klass i ett klassbibliotek med ett standardnamnområde inställt Samples.AspNet.CS.Controls på eller Samples.AspNet.VB.Controls, beroende på vilket språk du använder.

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

Det här exemplet kräver en JavaScript-fil med namnet Script_include.js. Filen .js är en inbäddad resurs i sammansättningen som innehåller ClientScriptResourceLabel objektet. Om du använder Visual Studio i Properties window i klassbiblioteksprojektet anger du Build Action till Embedded Resource när skriptfilen har valts. Om du kompilerar biblioteket på kommandoraden använder du växeln /resource för att bädda in resursen.

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

Kommentarer

Metoden GetWebResourceUrl returnerar en URL-referens till en resurs som är inbäddad i en sammansättning. Den returnerade referensen är inte URL-kodad. Resurser kan vara skriptfiler, bilder eller valfri statisk fil. Du anger typen baserat på det objekt som ska komma åt resursen.

En webbresurs som är registrerad på sidan identifieras unikt med dess typ och namn. Endast en resurs med en viss typ och ett namnpar kan registreras på sidan. Försök att registrera en resurs som redan är registrerad skapar inte en dubblett av den registrerade resursen.

Metoden GetWebResourceUrl används tillsammans med RegisterClientScriptResource metoden för att komma åt resurser som är inbäddade i sammansättningar. Mer information om hur du använder resurser i program finns i ASP.NET Översikt över webbplatsresurser.

Gäller för

Se även