ScriptManager.RegisterClientScriptInclude 方法

定义

ScriptManager 控件注册一个客户端脚本文件,以便和 UpdatePanel 控件中的某个控件一起使用,然后将脚本文件引用添加到页面中。

重载

RegisterClientScriptInclude(Control, Type, String, String)

ScriptManager 控件注册一个客户端脚本文件,以便和 UpdatePanel 控件中的某个控件一起使用,然后将脚本文件引用添加到页面中。

RegisterClientScriptInclude(Page, Type, String, String)

每次发生异步回发时都向 ScriptManager 控件注册客户端脚本,然后将一个脚本文件引用添加到页面中。

RegisterClientScriptInclude(Control, Type, String, String)

ScriptManager 控件注册一个客户端脚本文件,以便和 UpdatePanel 控件中的某个控件一起使用,然后将脚本文件引用添加到页面中。

public:
 static void RegisterClientScriptInclude(System::Web::UI::Control ^ control, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Control control, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Control * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (control As Control, type As Type, key As String, url As String)

参数

control
Control

正在注册客户端脚本文件的控件。

type
Type

客户端脚本文件的类型。 通常使用 typeof 运算符 (C#) 或 GetType 运算符 (Visual Basic) 来指定此参数,以检索正在注册脚本的控件的类型。

key
String

脚本文件的唯一标识符。

url
String

脚本文件的 URL。

例外

该客户端脚本文件的 typenull

- 或 -

正在注册该脚本文件的控件为 null

正在注册该脚本文件的控件不在页面的控件树中。

- 或 -

urlnull

- 或 -

url 为空。

示例

<%@ Page Language="C#" %>

<!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)
    {
        if (!IsPostBack)
            Calendar1.SelectedDate = DateTime.Today;
        
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        ScriptManager.RegisterClientScriptInclude(
            this,
            typeof(Page),
            "AlertScript",
            ResolveClientUrl("~/scripts/script_alertdiv.js"));
    }
    protected void IncrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(1.0);
    }
    protected void DecrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(-1.0);
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ScriptManager RegisterClientScriptInclude</title>
    <style type="text/css">
    div.MessageStyle
    {
      background-color: Green;
      top: 95%;
      left: 1%;
      position: absolute;
      visibility: hidden;
    }
    </style>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server"/>

            <script type="text/javascript">
            Sys.WebForms.PageRequestManager.instance.add_endRequest(Notify);
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional"
                runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" runat="server"/>
                    <br />
                    Change the selected date: 
                    <asp:Button runat="server" ID="DecrementButton" Text="-" OnClick="DecrementButton_Click" />
                    <asp:Button runat="server" ID="IncrementButton" Text="+" OnClick="IncrementButton_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>

            <div id="NotifyDiv" class="MessageStyle">
                Updates are complete.
            </div>
        </div>
    </form>
</body>
</html>
function Notify(sender, arg)
{
    ActivateAlertDiv('visible', 'NotifyDiv');
    setTimeout("ActivateAlertDiv('hidden', 'NotifyDiv')", 1000);
}
function ActivateAlertDiv(visstring, elem)
{
    var adiv = document.getElementById(elem);
    adiv.style.visibility = visstring;
}

注解

使用 RegisterClientScriptInclude 方法为参与部分页更新的页面或页面的一部分注册客户端脚本文件。 仅当 表示正在更新的控件内的UpdatePanel控件时,control才会将使用此方法注册的客户端脚本文件发送到页面。 若要在每次发生异步回发时注册脚本文件,请使用 RegisterClientScriptInclude(Page, Type, String, String) 此方法的重载。

如果要注册与分页更新无关的脚本块,并且希望在初始页面呈现期间只注册脚本块一次,请使用 RegisterClientScriptBlock 类的 ClientScriptManager 方法。 可以从页面的 属性获取对 ClientScriptManager 对象的 ClientScript 引用。

方法 RegisterClientScriptInclude 通过呈现 script 其开始标记包含 src 属性的元素,在页面上注册客户端脚本文件。 参数 url 用于设置 src 属性。 若要解析 URL,请使用 ResolveClientUrl 方法。 此方法使用为其调用的 URL 的上下文来解析路径。

RegisterClientScriptIncludeRegisterClientScriptResource 方法都向浏览器呈现脚本文件。 如果脚本文件) 的类型和键 (相同,或者已呈现嵌入资源) 的相同类型和资源名称 (,则不会再次呈现该脚本。

另请参阅

适用于

RegisterClientScriptInclude(Page, Type, String, String)

每次发生异步回发时都向 ScriptManager 控件注册客户端脚本,然后将一个脚本文件引用添加到页面中。

public:
 static void RegisterClientScriptInclude(System::Web::UI::Page ^ page, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Page page, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Page * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (page As Page, type As Type, key As String, url As String)

参数

page
Page

正在注册客户端脚本文件的页对象。

type
Type

客户端脚本文件的类型。 通常使用 typeof 运算符 (C#) 或 GetType 运算符 (Visual Basic) 来指定此参数,以检索正在注册脚本的控件的类型。

key
String

脚本文件的唯一标识符。

url
String

脚本文件的 URL。

例外

该客户端脚本文件的 typenull

- 或 -

正在注册该脚本文件的页为 null

urlnull

- 或 -

url 为空。

注解

使用此方法注册脚本文件时,每次发生异步回发时,都会呈现该脚本。 若要为控件内的 UpdatePanel 控件注册脚本文件,以便仅在更新控件时 UpdatePanel 注册该脚本,请使用 RegisterClientScriptInclude(Control, Type, String, String) 此方法的重载。

如果要注册与分页更新无关的脚本块,并且希望在初始页面呈现期间只注册脚本块一次,请使用 RegisterClientScriptBlock 类的 ClientScriptManager 方法。 可以从页面的 属性获取对 ClientScriptManager 对象的 ClientScript 引用。

另请参阅

适用于