ClientScriptManager.GetWebResourceUrl(Type, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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.Controls
v 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.