ClientScriptManager.GetWebResourceUrl(Type, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen URL-Verweis auf eine Ressource in einer Assembly ab.
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
Parameter
- type
- Type
Der Typ der Ressource.
- resourceName
- String
Der vollqualifizierte Name der Ressource in der Assembly.
Gibt zurück
Der URL-Verweis auf die Ressource.
Ausnahmen
Der Webressourcentyp ist null.
-oder-
Der Name der Webressource lautet null.
-oder-
Der Name der Webressource weist eine Länge von Null auf.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der GetWebResourceUrl Methode veranschaulicht. Der Typparameter in diesem Beispiel wird auf den Typ der Klasse in der Assembly festgelegt, die die Ressource enthält. Der resourceName Parameter wird mit dem vollqualifizierten Pfad zur Ressource angegeben, der den Standardnamespace enthält.
<%@ 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>
Im folgenden Codebeispiel wird veranschaulicht, wie das WebResourceAttribute Metadaten-Attribut programmgesteuert angewendet wird, um die Assembly für die Ressourcen zu markieren, die bereitgestellt werden. Kompilieren Sie die folgende Klasse in einer Klassenbibliothek mit einem Standardnamespace, der Samples.AspNet.CS.ControlsSamples.AspNet.VB.Controlsabhängig davon, welche Sprache Sie verwenden.
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
In diesem Beispiel ist eine JavaScript-Datei mit dem Namen Script_include.jserforderlich. Die .js-Datei ist eine eingebettete Ressource in der Assembly, die das ClientScriptResourceLabel Objekt enthält. Wenn Sie Visual Studio verwenden, legen Sie im Eigenschaftenfenster des Klassenbibliotheksprojekts Build-Aktion auf Embedded Resource fest, wenn die Skriptdatei ausgewählt ist. Wenn Sie die Bibliothek in der Befehlszeile kompilieren, verwenden Sie den Schalter "/resource ", um die Ressource einzubetten.
function DoClick() {Form1.Message.value='Text from resource script.'}
Hinweise
Die GetWebResourceUrl Methode gibt einen URL-Verweis auf eine in eine Assembly eingebettete Ressource zurück. Der zurückgegebene Verweis ist nicht URL-codiert. Ressourcen können Skriptdateien, Bilder oder eine beliebige statische Datei sein. Sie geben den Typ basierend auf dem Objekt an, das auf die Ressource zugreift.
Eine webressource, die mit der Seite registriert ist, wird eindeutig anhand ihres Typs und Namens identifiziert. Nur eine Ressource mit einem bestimmten Typ- und Namenspaar kann mit der Seite registriert werden. Beim Versuch, eine bereits registrierte Ressource zu registrieren, wird kein Duplikat der registrierten Ressource erstellt.
Die GetWebResourceUrl Methode wird in Verbindung mit der Methode für den RegisterClientScriptResource Zugriff auf ressourcen verwendet, die in Assemblys eingebettet sind. Weitere Informationen zur Verwendung von Ressourcen in Anwendungen finden Sie unter ASP.NET Web Page Resources Overview.