Sdílet prostřednictvím


ClientScriptManager.GetWebResourceUrl(Type, String) Metoda

Definice

Získá odkaz na adresu URL prostředku v sestavení.

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

Parametry

type
Type

Typ prostředku.

resourceName
String

Plně kvalifikovaný název prostředku v sestavení.

Návraty

String

Adresa URL odkazuje na prostředek.

Výjimky

Typ webového prostředku je null.

-nebo-

Název webového prostředku je null.

-nebo- Název webového prostředku má délku nuly.

Příklady

Následující příklad kódu ukazuje použití GetWebResourceUrl metody. Parametr typu v tomto příkladu je nastaven na typ třídy v sestavení obsahujícím prostředek. Parametr resourceName je zadán s plně kvalifikovanou cestou k prostředku, který zahrnuje výchozí obor názvů.

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

Následující příklad kódu ukazuje, jak programově použít WebResourceAttribute atribut metadat k označení sestavení pro prostředky, které budou obsluhovány. Zkompilujte následující třídu v knihovně tříd s výchozím oborem názvů nastaveným na Samples.AspNet.CS.Controls nebo Samples.AspNet.VB.Controlsv závislosti na tom, jaký jazyk používáte.

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

Tento příklad vyžaduje javascriptový soubor s názvem Script_include.js. Soubor .js je vložený prostředek v sestavení, které obsahuje ClientScriptResourceLabel objekt. Pokud používáte Visual Studio, nastavte v okno Vlastnosti projektu knihovny tříd akci sestavení na vložený prostředek při výběru souboru skriptu. Pokud kompilujete knihovnu na příkazovém řádku, vložte ho pomocí přepínače /resource .

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

Poznámky

Metoda GetWebResourceUrl vrátí odkaz na adresu URL na prostředek vložený do sestavení. Vrácený odkaz není kódován adresou URL. Prostředky můžou být soubory skriptů, obrázky nebo jakýkoli statický soubor. Typ zadáte na základě objektu, který bude přistupovat k prostředku.

Webový prostředek zaregistrovaný na stránce je jednoznačně identifikován jeho typem a názvem. Na stránce je možné zaregistrovat pouze jeden prostředek s daným typem a párem názvu. Pokus o registraci prostředku, který je již zaregistrovaný, nevytváří duplikát registrovaného prostředku.

Metoda GetWebResourceUrl se používá ve spojení s metodou RegisterClientScriptResource pro přístup k prostředkům vloženým do sestavení. Další informace o používání prostředků v aplikacích najdete v tématu ASP.NET Přehled prostředků webové stránky.

Platí pro

Viz také