Sdílet prostřednictvím


ClientScriptManager.GetWebResourceUrl(Type, String) Metoda

Definice

Získá odkaz url na prostředek 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

Odkaz url 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 nula.

Příklady

Následující příklad kódu ukazuje použití GetWebResourceUrl metody . Parametr type v tomto příkladu je nastaven na typ třídy v sestavení obsahujícím prostředek. Parametr resourceName se zadává 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 metadata atribut označit 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 jazyce, který 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, v okně Vlastnosti projektu knihovny tříd nastavte Při výběru souboru skriptu možnost Akce sestavení na Vložený prostředek . Pokud kompilujete knihovnu na příkazovém řádku, vložte prostředek pomocí přepínače /resource .

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

Poznámky

Metoda GetWebResourceUrl vrátí odkaz url na prostředek vložený v sestavení. Vrácený odkaz není zakódován do adresy 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 svým typem a názvem. Na stránce je možné zaregistrovat pouze jeden prostředek s danou dvojicí typu a názvu. Pokus o registraci již zaregistrovaného prostředku nevytvoří duplikát zaregistrovaného prostředku.

Metoda se GetWebResourceUrl používá ve spojení s metodou RegisterClientScriptResource pro přístup k prostředkům vloženým v sestaveních. 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é