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 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.Controls
v 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.