ASP.NET ScriptManager コントロールを使う
ASP.NET ScriptManager コントロールは、クライアントスクリプトを管理・整理するためのコントロールです。これは ASP.NET AJAX フレームワークの一部として提供されており、より優れたクライアントスクリプトの管理および読み込みの機能を提供します。
スクリプトマネージャコントロールを使用するには、まずページ上にスクリプトマネージャコントロールを追加する必要があります。コントロールはページのasp:ScriptManagerタグ内で追加できます。例:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
ScriptManagerコントロールを追加することで、UpdatePanelやTimerなどの、ページ上の他のコントロールでAJAX機能を使用できるようになり、またASP.NET AJAXライブラリで提供されるクライアントスクリプト機能を使用できるようになります。
以下、ScriptManager コントロールで一般的に使われているプロパティとメソッドを紹介します。
- EnablePartialRendering:部分レンダリングを使用するかどうかを指定します。デフォルトは true です。
- EnableScriptGlobalization:スクリプトのグローバリゼーションを有効にするかどうかを示します。デフォルトは false です。
- EnableScriptLocalization: スクリプトのローカライズを使用可能にするかどうかを指定します。デフォルトはfalseです。
- スクリプトモード: 使用するスクリプトモードを指定します。値として Auto、Debug、Release が選択できます。デフォルト値は Auto です。
- CompositeScript:ページで使用されるスクリプトファイルを指定します。asp:ScriptReferenceタグを追加することによって、取り込むスクリプトファイルを指定できます。
ScriptManager コントロールはクライアント スクリプトの管理と読み込みを行うためのメソッドも提供しています。
- RegisterStartupScript:ページのロード完了後にスクリプト ブロックを登録します。
- RegisterClientScriptBlock: ページロード後にスクリプとブロックを登録し、スクリプトブロックの ID を指定します。
- ページが読み込まれた後に外部スクリプトファイルを読み込む RegisterClientScriptInclude。
ScriptManager コントロールの使用は、次のコードサンプルで説明できます。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Click the button to change the text." />
<asp:Button ID="Button1" runat="server" Text="Change Text" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
using System;
using System.Web.UI;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Text changed!";
}
}
}
上記例のScriptManager コントロールはページに追加され、次に UpdatePanel コントロールで AJAX 機能が使用されています。ボタンがクリックされると、Label のテキストが変更されます。この例は、ScriptManager コントロールの基本的な使用法を示しています。