ClientScriptManager.GetWebResourceUrl(Type, String) ClientScriptManager.GetWebResourceUrl(Type, String) ClientScriptManager.GetWebResourceUrl(Type, String) Method

定義

アセンブリ内のリソースへの URL 参照を取得します。Gets a URL reference to a resource in an assembly.

public:
 System::String ^ GetWebResourceUrl(Type ^ type, System::String ^ resourceName);
public string GetWebResourceUrl (Type type, string resourceName);
member this.GetWebResourceUrl : Type * string -> string

パラメーター

type
Type Type Type

リソースの型。The type of the resource.

resourceName
String String String

アセンブリ内のリソースの完全修飾名。The fully qualified name of the resource in the assembly.

戻り値

リソースへの URL 参照。The URL reference to the resource.

例外

Web リソース型が null です。The web resource type is null.

- または --or-

Web リソース名が null です。The web resource name is null.

- または --or- Web リソース名の長さがゼロです。The web resource name has a length of zero.

次のコード例は、 GetWebResourceUrlメソッドの使用方法を示しています。The following code example demonstrates the use of the GetWebResourceUrl method. この例のパラメーターは、リソースを格納しているアセンブリ内のクラスの型に設定されます。The type parameter in this example is set to the type of class in the assembly containing the resource. resourceNameパラメーターには、既定の名前空間を含む、リソースへの完全修飾パスを指定します。The resourceName parameter is specified with the fully qualified path to the resource, which includes the default namespace.

<%@ 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>

次のコード例は、プログラムでWebResourceAttributeメタデータ属性を適用して、提供されるリソースのアセンブリをマークする方法を示しています。The following code example demonstrates how to programmatically apply the WebResourceAttribute metadata attribute to mark the assembly for the resources that will be served. 使用している言語に応じて、既定の名前空間をSamples.AspNet.CS.ControlsまたSamples.AspNet.VB.Controlsはに設定して、クラスライブラリで次のクラスをコンパイルします。Compile the following class in a class library with a default namespace set to Samples.AspNet.CS.Controls or Samples.AspNet.VB.Controls, depending on what language you are using.

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

この例では、というScript_include.js名前の JavaScript ファイルが必要です。This example requires a JavaScript file named Script_include.js. .Js ファイルは、 ClientScriptResourceLabelオブジェクトを含むアセンブリ内の埋め込みリソースです。The .js file is an embedded resource in the assembly that contains the ClientScriptResourceLabel object. Visual Studio を使用している場合は、クラスライブラリプロジェクトのプロパティウィンドウで、スクリプトファイルを選択したときに [ビルドアクション][埋め込みリソース] に設定します。If you are using Visual Studio, in the Properties window of the class library project, set Build Action to Embedded Resource when the script file is selected. コマンドラインでライブラリをコンパイルする場合は、 /resourceスイッチを使用してリソースを埋め込みます。If you are compiling the library at the command line, use the /resource switch to embed the resource.

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

注釈

メソッドGetWebResourceUrlは、アセンブリに埋め込まれているリソースへの URL 参照を返します。The GetWebResourceUrl method returns a URL reference to a resource embedded in an assembly. 返された参照は URL エンコードされていません。The returned reference is not URL encoded. リソースには、スクリプトファイル、イメージ、または任意の静的ファイルを指定できます。Resources can be script files, images, or any static file. リソースにアクセスするオブジェクトに基づいて、型を指定します。You specify the type based on the object that will be accessing the resource.

ページに登録されている Web リソースは、その型と名前によって一意に識別されます。A Web resource registered with the page is uniquely identified by its type and name. このページに登録できるのは、特定の種類と名前のペアを持つリソースを1つだけです。Only one resource with a given type and name pair can be registered with the page. 既に登録されているリソースを登録しようとしても、登録済みリソースの複製は作成されません。Attempting to register a resource that is already registered does not create a duplicate of the registered resource.

メソッドは、アセンブリに埋め込まれRegisterClientScriptResourceているリソースにアクセスするためのメソッドと共に使用されます。 GetWebResourceUrlThe GetWebResourceUrl method is used in conjunction with the RegisterClientScriptResource method for accessing resources embedded in assemblies. アプリケーションでのリソースの使用の詳細については、「 ASP.NET Web Page resources の概要」を参照してください。For more information on using resources in applications, see ASP.NET Web Page Resources Overview.

適用対象

こちらもご覧ください