ClientScriptManager.GetWebResourceUrl(Type, String) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Haalt een URL-verwijzing op naar een resource in een assembly.
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
Parameters
- type
- Type
Het type bron.
- resourceName
- String
De volledig gekwalificeerde naam van de resource in de assembly.
Retouren
De URL-verwijzing naar de resource.
Uitzonderingen
Het type webresource is null.
– of –
De naam van de webresource is null.
– of –
De naam van de webresource heeft een lengte van nul.
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van de GetWebResourceUrl methode. De typeparameter in dit voorbeeld is ingesteld op het type klasse in de assembly die de resource bevat. De resourceName parameter wordt opgegeven met het volledig gekwalificeerde pad naar de resource, dat de standaardnaamruimte bevat.
<%@ 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>
In het volgende codevoorbeeld ziet u hoe u programmatisch het WebResourceAttribute metagegevenskenmerk toepast om de assembly te markeren voor de resources die worden geleverd. Compileer de volgende klasse in een klassebibliotheek met een standaardnaamruimte die is ingesteld op Samples.AspNet.CS.Controls of Samples.AspNet.VB.Controls, afhankelijk van de taal die u gebruikt.
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
Voor dit voorbeeld is een JavaScript-bestand met de naam Script_include.jsvereist. Het bestand .js is een ingesloten resource in de assembly die het ClientScriptResourceLabel object bevat. Als u Visual Studio gebruikt, stelt u in het venster Eigenschappen van het klassebibliotheekproject Build Action in op Embedded Resource wanneer het scriptbestand is geselecteerd. Als u de bibliotheek op de opdrachtregel compileert, gebruikt u de schakeloptie /resource om de resource in te sluiten.
function DoClick() {Form1.Message.value='Text from resource script.'}
Opmerkingen
De GetWebResourceUrl methode retourneert een URL-verwijzing naar een resource die is ingesloten in een assembly. De geretourneerde verwijzing is geen URL-gecodeerd. Resources kunnen scriptbestanden, afbeeldingen of een statisch bestand zijn. U geeft het type op op basis van het object dat toegang krijgt tot de resource.
Een webresource die is geregistreerd bij de pagina, wordt uniek geïdentificeerd door het type en de naam. Er kan slechts één resource met een bepaald type en naampaar worden geregistreerd bij de pagina. Als u een resource probeert te registreren die al is geregistreerd, wordt er geen duplicaat van de geregistreerde resource gemaakt.
De GetWebResourceUrl methode wordt gebruikt in combinatie met de RegisterClientScriptResource methode voor toegang tot resources die zijn ingesloten in assembly's. Zie ASP.NET Overzicht van webpaginaresources voor meer informatie over het gebruik van resources in toepassingen.