ClientScriptManager.IsClientScriptIncludeRegistered 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定 Page 对象是否注册了客户端脚本包含。
重载
IsClientScriptIncludeRegistered(String) |
使用指定键确定 Page 对象是否注册了客户端脚本包含。 |
IsClientScriptIncludeRegistered(Type, String) |
使用键和类型确定 Page 对象是否注册了客户端脚本包含。 |
IsClientScriptIncludeRegistered(String)
使用指定键确定 Page 对象是否注册了客户端脚本包含。
public:
bool IsClientScriptIncludeRegistered(System::String ^ key);
public bool IsClientScriptIncludeRegistered (string key);
member this.IsClientScriptIncludeRegistered : string -> bool
Public Function IsClientScriptIncludeRegistered (key As String) As Boolean
参数
- key
- String
要搜索的客户端脚本包含的键。
返回
如果注册了客户端脚本包含,则为 true
;否则为 false
。
注解
在调用该方法之前调用 RegisterClientScriptInclude 此方法以避免注册重复的脚本。 如果脚本需要大量服务器资源才能创建,这一点尤其重要。
客户端脚本包含由其密钥及其类型唯一标识。 具有相同键和类型的脚本被视为重复项。
此方法的IsStartupScriptRegistered此重载调用将类型集为Page对象的重载key
和type
参数。
另请参阅
适用于
IsClientScriptIncludeRegistered(Type, String)
使用键和类型确定 Page 对象是否注册了客户端脚本包含。
public:
bool IsClientScriptIncludeRegistered(Type ^ type, System::String ^ key);
public bool IsClientScriptIncludeRegistered (Type type, string key);
member this.IsClientScriptIncludeRegistered : Type * string -> bool
Public Function IsClientScriptIncludeRegistered (type As Type, key As String) As Boolean
参数
- type
- Type
要搜索的客户端脚本包含的类型。
- key
- String
要搜索的客户端脚本包含的键。
返回
如果注册了客户端脚本包含,则为 true
;否则为 false
。
例外
客户端脚本包含类型为 null
。
示例
下面的代码示例演示了该方法 IsClientScriptIncludeRegistered 的使用。 请注意,如果删除了检查现有客户端脚本的逻辑,则呈现页面的 HTML 源代码中不会有两个重复的客户端脚本,因为 RegisterClientScriptInclude 该方法会检查重复项。 检查的好处是减少不必要的计算。
<%@ 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)
{
// Define the name, type and url of the client script on the page.
String csname = "ButtonClickScript";
String csurl = "~/script_include.js";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the include script exists already.
if (!cs.IsClientScriptIncludeRegistered(cstype, csname))
{
cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl));
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<input type="text"
id="Message"/>
<input type="button"
value="ClickMe"
onclick="DoClick()"/>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!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 name, type and url of the client script on the page.
Dim csname As String = "ButtonClickScript"
Dim csurl As String = "~/script_include.js"
Dim cstype As Type = Me.GetType()
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Check to see if the include script is already registered.
If (Not cs.IsClientScriptIncludeRegistered(cstype, csname)) Then
cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl))
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<input type="text"
id="Message"/>
<input type="button"
value="ClickMe"
onclick="DoClick()"/>
</div>
</form>
</body>
</html>
此示例需要一 Script_include.js
个名为 JavaScript 文件,其中包含以下内容:
function DoClick() {Form1.Message.value='Text from include script.'}
注解
在调用该方法之前调用 RegisterClientScriptInclude 此方法以避免注册重复的客户端脚本包括。 如果脚本需要大量服务器资源才能创建,这一点尤其重要。
客户端脚本包含由其密钥及其类型唯一标识。 具有相同键和类型的脚本被视为重复项。 根据将访问资源的对象指定类型。 例如,使用 Page 实例访问资源时,请指定 Page
类型。