Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法

PX4实战指南:通过遥控器通道映射实现多舵机PWM精准控制 本文详细介绍了通过PX4飞控的AUX PWM接口实现遥控器通道映射控制多舵机的实战指南。内容包括硬件选型与连接、软件参数配置、通道映射方法以及常见问题排查,帮助开发者精准实现无人机舵机PWM控制,适用于云台、机械臂等扩展功能开发。 阅读详情

原文来自:http://www.cnblogs.com/zhuawang/archive/2007/09/04/881107.html

最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块。第一个是 RegisterStartupScript 方法。当您有一个想要在页面加载时启动的 JavaScript 函数时,最好使用该类。就此列举一例,在 Visual Studio 2005 中创建一个包含两个按钮的 ASP.NET 页面。Button1 和 Button2 分别为这两个按钮的 ID。然后,在 Page_Load 事件内部嵌入以下代码

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript",   "function AlertHello() { alert('你好,ASP.NET'); }", true);Button1.Attributes["onclick"] = "AlertHello()";Button2.Attributes["onclick"] = "AlertHello()";

RegisterStartupScript 方法的两个可能结构如下:

 

•

RegisterStartupScript (type, key, script)

•

RegisterStartupScript (type, key, script, script tag specification)

在上例中,您指定了类型 Me.GetType()、关键字及包含的脚本,然后是一个值为 True 的布尔值(以便 .NET 自动使用 <script> 标记将脚本嵌入 ASP.NET 页面中)。

在 Page_Load 事件中使用该代码会在浏览器中生成以下 HTML 代码(为简明起见,已删除了一些 HTML 代码):

<html xmlns="http://www.w3.org/1999/xhtml" ><head><title>   使用 JavaScript</title></head><body>    <form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"  value="/wEPDwUJMTM4ODA1MjE5D2QWAgIED2QWBAIBDw9kFgIeB29uY2xpY2s FDEFsZXJ0SGVsbG8oKWQCAw8PZBYCHwAFDEFsZXJ0SGVsbG8oKWRk+DQIaJpw5 A7pyhzP8dxf/JGUSbA=" /></div>    <div>        <input type="submit" name="Button1" value="Button"          onclick="AlertHello();" id="Button1" />        <input type="submit" name="Button2" value="Button"          onclick="AlertHello();" id="Button2" />    </div>    <div>   <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"     value="/wEWAwK4yNWFBwKM54rGBgK7q7GGCHwBEr6DyGutQ/egvNrB3OYhCwM4" /></div><script type="text/javascript"><!--function AlertHello() { alert('你好,ASP.NET'); }// --></script></form></body></html>

使用该 ASP.NET 页面时,请注意,在页面的底部、表单 (</form>) 的最后,嵌入了一个 JavaScript 函数。

应为页面上的所有 JavaScript 指定唯一的关键字,这一点十分重要(这可通过该方法中要求的 key 参数来实现)。如果多个 JavaScript 具有相同的关键字名称,则只会在页面中嵌入第一个 JavaScript。

现在,我们通过使用 Page.ClientScript.RegisterClientScriptBlock 方法来创建一个更好版本的按钮翻转示例。先前的翻转按钮示例有一个问题,即当终端用户的鼠标置于按钮图像上时,必须通过单独的请求从服务器检索翻转图像。较好的翻转按钮情况是,按钮的翻转图像已经下载并存储到了浏览器的高速缓存中,以便当终端用户将鼠标置于按钮上时,会立即显示翻转图像。要完成该任务,我们必须构建一个 JavaScript 函数。以下示例介绍了该 JavaScript 函数以及如何使用 RegisterClientScriptBlock 方法将该函数置于页面中。就本例而言,代码分离只需要一个 Page_Load 事件及一个针对 ImageButton 服务器控件的按钮单击事件。

<%@ Page Language="C#" %><script runat="server">   protected void Page_Load(object sender, EventArgs e){       Page.RegisterClientScriptBlock("MyScript", _           "if (document.images) {" +           "MyButton = new Image;" +           "MyButtonShaded = new Image;" +           "MyButton.src = 'button1.gif;" +           "MyButtonShaded.src = 'button2.gif;" +           "}" +           "else {" +           "MyButton = '';" +           "MyButtonShaded = '';" +           "}", true);       ImageButton1.Attributes.Add("onmouseover",          "this.src = MyButtonShaded.src;" +          "window.status='是的!请单击此处!';");       ImageButton1.Attributes.Add("onmouseout",          "this.src = MyButton.src;" +          "window.status='';");    }   protected void ImageButton1_Click(object sender, ImageClickEventArgs e)  {     Label1.Text = "回发!";  }</script><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>使用 JavaScript</title></head><body>    <form id="form1" runat="server">    <div>    <p>       <asp:ImageButton id="ImageButton1"         onmouseover="this.src='button2.gif'"         onclick="ImageButton1_Click"         onmouseout="this.src='button1.gif'" runat="server"         ImageUrl="button1.gif"></asp:ImageButton>    </p>    <p>       <asp:Label id="Label1" runat="server" />    </p>    </div>    </form></body></html>

使用此代码时,浏览器的 HTML 输出将如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" ><head id="Head1"><title>   使用 JavaScript</title></head><body>    <form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"  value="/wEPDwUKMTcyMTcwOTQ2NA9kFgICBA9kFgICAQ8PZBYEHgtvbm1 vdXNlb3ZlcgVCdGhpcy5zcmMgPSBNeUJ1dHRvblNoYWRlZC5zcmM7d2luZ G93LnN0YXR1cz0nT2ggWWVzISBDbGljayBoZXJlISc7Hgpvbm1vdXNlb3V 0BSl0aGlzLnNyYyA9IE15QnV0dG9uLnNyYzt3aW5kb3cuc3RhdHVzPScnO 2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFDEltYWd lQnV0dG9uMXDJ4zl4FNylcdE+kep0e5wzi14T" /></div><script type="text/javascript"><!--if  (document.images) {MyButton = new Image;MyButtonShaded = new Image;MyButton.src = 'button1.gif';MyButtonShaded.src = 'button2.gif';}else {MyButton= '';MyButtonShaded = '';}// --></script>    <div>        <p>            <input type="image" name="ImageButton1" id="ImageButton1"              onmouseover="this.src = MyButtonShaded.src;window.status=               '是的!请单击此处!';"              onmouseout="this.src = MyButton.src;window.status='';"              src="button1.gif" style="border-width:0px;" />        </p>        <p>            <span id="Label1"></span>        </p>    </div>    <div>   <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"     value="/wEWAgLhoLy4DwLSwpnTCEKaKJJN3KmLU7TP4vwT5VSKMT+M" /></div></form></body></html>

对于该输出,请注意:通过使用 RegisterClientScriptBlock,JavaScript 函数紧跟在 HTML 代码中开启元素 <form> 的后面。除了使用 RegisterClientScriptBlock 方法添加了 JavaScript 函数外,我们还添加了一些额外的 JavaScript(只是为了增添点乐趣),以便在终端用户将鼠标置于按钮上时文本会显示在浏览器的状态栏中。如图 3 所示。

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

我们已为您介绍了两种不同的可用来将 JavaScript 函数嵌入 ASP.NET 页面的方法,那么,二者之间有何不同呢?主要区别在于,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面。那么,这有何不同呢?正如我们将要看到的,这有很大的不同。

就此列举一例,以下是在页面加载到浏览器时,将焦点置于该页面上的一个文本框中的方法 - 使用利用了 RegisterStartupScript 方法的 Visual Basic:

Page.ClientScript.RegisterStartupScript(Me.GetType(), "Testing", _   "document.forms[0]['TextBox1'].focus();", True)

由于在浏览器运行到页面底部并执行此小段 JavaScript 时,就已生成了页面上的文本框,并已将其放到了页面中,因此,此方法运行正常。但是,如果不按照上述方法,而编写如下代码(使用 RegisterClientScriptBlock 方法):

Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Testing", _  "document.forms[0]['TextBox1'].focus();", True)

文本框控件将不会获得焦点,且会在页面上生成一个 JavaScript 错误(如图 4 所示)。


图 4. 执行 JavaScript 时出错

出错的原因在于,浏览器将先遇到 JavaScript,而后文本框才会出现在页面中。因此,JavaScript 将无法找到 TextBox

 

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构 本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过来弥补参数大幅减少的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的和五种模型,以满足不同的需求。 阅读详情

相关推荐

PCIe Electrical PHY(4)-PCIE SPEC第8章指标讲解

1.1 PCIE TX SPEC TX主要关心两类参数,一类是Voltage Parameters,一类是Jitter Parameters。 其中Voltage相关参数主要关心不同preset下差分电压幅度的准确性。以及共模电压的稳定性。 PCIE spec中对Jitter相关的参数测量定义如下: 分为两大类:DDJ(Data dependent Jitter)和UJ(Uncorrelated ...

maxwell2ic的博客 5951

Page.ClientScript.RegisterStartupScript

Page.ClientScript.RegisterStartupScript方法最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块。 第一个是RegisterStartupScript方法。当您有一个想要在页面加载时启动的 JavaScript 函数时,最好使用该类。 就此列举一例,在 Visual Studio 2005 中创建一个包含两个按钮的 ASP.NET 页...

weixin_30873847的博客 378

[OrCad电路板设计系统].Orcad.Pspice.9.2下载安装

Orcad.Pspice.9.2详细下载安装图文步骤1 安装前准备工作1.1 下载安装包1.2 解压2 安装时步骤2.1 安装文件2.2 破解文件3 安装完成 1 安装前准备工作 1.1 下载安装包 打开百度网盘APP 链接:https://pan.baidu.com/s/1cMFxHUvuh5iEhFVT-lvciQ 提取码:7m65 1.2 解压 解压下载好的安装包 2 安装时步骤 2.1 安装文件 1.点击Setup安装文件,出现警告对话框,告诉你应该关闭所有病毒防火墙,点击确定 2.进入安装界面,

weixin_48924581的博客 1万+

Page.ClientScript.RegisterStartupScript()

Page.ClientScript.RegisterStartupScript() 使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册 启动脚本。  参数 type  要注册的启动脚本的类型。  key  要注册的启动脚本的键。  script  要注册的启动脚本文本。  addScript

zhijianliuyanxiang的专栏 1222

切比雪夫(最小区域法)直线拟合算法

切比雪夫,最小区域法直线拟合

闪电彬彬的博客 3964

蓝桥杯单片机省一经验分享1:基础篇.含详细代码与应试技巧

含详细代码、驱动修改与应试技巧

qq_53529450的博客 1万+

.NET page.ClientScript.RegisterStartupScript() 用法

page.ClientScript.RegisterStartupScript() 可以添加客户端脚本,有4个参数:   type:要注册的启动脚本的类型。   key:要注册的启动脚本的键。   script:要注册的启动脚本文本。   addScriptTags:指示是否添加脚本标记的布尔值. 例如: 在后台中写下代码;page.Clie

疯羊先森的博客 1290

数据科学助力大数据领域的航空安全分析

随着航空业的快速发展,航班数量不断增加,航空安全问题日益受到关注。大数据时代的到来,使得航空领域积累了大量的数据,包括飞行数据、维护数据、气象数据等。本文章的目的在于探讨如何运用数据科学的方法和技术,对这些大数据进行分析,以提高航空安全水平。范围涵盖了从数据收集、预处理到数据分析、模型构建和应用的整个流程。本文将按照以下结构进行组织:首先介绍数据科学和航空安全分析的核心概念以及它们之间的联系;接着阐述核心算法原理和具体操作步骤,并使用Python源代码进行详细说明;

软件工程实践的博客 1292

《网络安全自学教程》- Nmap使用及扫描原理分析

使用Nmap进行端口扫描、主机发现、服务识别、操作系统识别、指定脚本、结果导出文件,使用wireshark抓包分析扫描原理。

wangyuxiang946的博客 1万+

SAP_FI模块_固定资产期初导入全流程(含导入代码)

SAP 期初导入资产主数据以及金额相关的操作全流程记录,包含了批导程序的代码,以及错误记录

风沙的博客 1405

page.ClientScript.RegisterStartupScript

page.ClientScript.RegisterStartupScript()可以添加客户端脚本,有4个参数   type:要注册的启动脚本的类型。  key:要注册的启动脚本的键。  script:要注册的启动脚本文本。  addScriptTags:指示是否添加脚本标记的布尔值. 在后台中写下代码;page.ClientScript.RegisterStartupScript(page...

weixin_30784141的博客 173

五、实战pxe安装ubuntu 22.04 软raid1(实际生产pxe配置)

这段配置文件是一个cloud-init的自动安装配置,用于自动化部署Ubuntu服务器操作系统。它定义了从系统身份、键盘布局、区域设置到磁盘分区和RAID配置的一系列设置,并且包含了在安装过程的最后阶段执行的一些命令。基础设置version: 1指定了autoinstall配置文件的版本。source定义了安装源,这里是ubuntu-server。identity设置了主机名(hostname)、用户(username)和密码(password注意这里的密码是经过加密的。键盘与语言设置。

jundao1997的专栏 999

Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法...

最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块。 第一个是 RegisterStartupScript 方法。当您有一个想要在页面加载时 启动的 JavaScript 函数时,最好使用该类。就此列举一例,在 Visual Studio 2005 中创建一个包含两个按钮的 ASP.NET 页面。 Button1 和 Button2 分别为 这两个按钮的 ID。然后...

weixin_30512089的博客 179

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

服务端注册脚本

Page.ClientScript.RegisterStartupScript()方法与Page.ClientScript.RegisterClientScriptBlock()方法 转载于:https://www.cnblogs.com/mattins/archive/2010/09/29/1838682.html

weixin_30587025的博客 89

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ASP.NET的ALert()方法 跟JS的alert()弹窗方法一样

public static void Alert(string message)     {         #region         string js = @"                     alert('" + message + "');";         HttpContext.Current.Response.Write(js);         #end

233

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Page.ClientScript.RegisterClientScriptBlock & Page.ClientScript.RegisterStartupScript

1、使用Page.ClientScript.RegisterClientScriptBlockRegisterClientScriptBlock方法可以把JavaScript函数放在页面的顶部。也就是说,该脚本用于在浏览器中启动页面。Code<%@PageLanguage="C#"%><scriptrunat="server">protectedvoid...

ants92564的博客 306

Page.ClientScript.RegisterClientScriptBlock和Page.ClientScript.RegisterStartupScript区别

 Page.ClientScript.RegisterClientScriptBlock可以在服务器端把javascript function放在页面的顶部。 protected void Page_Load(object sender, EventArgs e) { string myScript = @"function AlertHello() { alert('Hello AS

soft_123456的专栏 791

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 被用来注册脚本块。第一个是 RegisterStartupScript 方法。当您有一个想要在页面加载时启动的 JavaScript 函数时,最好使用该类。就此列举一例,在 Visual Studio 2005 中创建一个包含两

.NET 4795
上一篇: 限制一个帐户不能同时登陆。(针对于不是同一台计算机)
下一篇: ASP.NET先显示‘提示信息’然后再跳转---Page.ClientScript.RegisterStartupScript()
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值