在C#中可以使用RegisterClientScriptBlock、RegisterStartupScript和RegisterClientScriptInclude来向客户端注册脚本,它们的区别

C#编写支持多个QQ登录的QQ客户端            因为前段时间比较无聊,就顺便研究了一下QQ 2006 Beta3 的底层协议,于是乎就顺手写了一个QQ客户端,现在只实现了登录,KeepAlive,下载在线好友,发送/接收消息.这几个最基本的功能,其他的功能呢打算放到下一版本在做,为什么呢?因为现在忙,没时间做,而且由于前期没有设计好框架,导致代码已经多到我不想去维护的地步.......          先给几张图: 阅读详情

在C#中可以使用RegisterClientScriptBlock、RegisterStartupScript和RegisterClientScriptInclude来向客户端注册脚本,它们的区别是:

RegisterClientScriptBlock:在页面内容前注册脚本;
RegisterStartupScript:在页面内容后注册脚本;
RegisterClientScriptInclude:在页面内容前引用外部脚本;

例如下边脚本:

程序代码 程序代码
protected void Page_Load(object sender, EventArgs e)
{
     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "a01", "<script>alert('a01');</script>");

     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "a02", "alert('a02');",true);

     Page.ClientScript.RegisterStartupScript(this.GetType(), "b01", "<script>alert('b01');</script>");
     Page.ClientScript.RegisterStartupScript(this.GetType(), "b02", "alert('b02');", true);

     Page.ClientScript.RegisterClientScriptInclude("c01", "http://www.mzwu.com/js/my.js");
}

显示结果为:

程序代码 程序代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
     无标题页
</title></head>
<body>
     <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTEzMjY3MzQ0M2RkeNhrlsakosMW4qcA4DhPw24uxyk=" />
</div>

<script>alert('a01');</script>
<script type="text/javascript">
<!--
alert('a02');// -->
</script>

<script src="http://www.mzwu.com/js/my.js" type="text/javascript"></script>
     <div>
     <span id="Label1">Hello World!</span>
     </div>
    
<script>alert('b01');</script>
<script type="text/javascript">
<!--
alert('b02');// -->
</script>
</form>
</body>
</html>

说明

1.RegisterClientScriptBlock和RegisterStartupScript推荐使用RegisterStartupScript,特别是当注册的脚本要调用页面的元素或函数时,如果使用RegisterClientScriptBlock可能会发生元素/函数还没加载完毕导致出错。
2.使用发现如果页面缺少服务器端表单<form id="form1" runat="server"></form>会导致脚本注册不成功,也发现其实RegisterClientScriptBlock就是将脚本注册到<form id="form1" runat="server">后,RegisterStartupScript是将脚本注册到</form>前。

特别是当注册的脚本要调用页面的元素或函数时,如果使用RegisterClientScriptBlock可能会发生元素/函数还没加载完毕导致出错。

可以"window.onload=fun{}"


ERPS协议原理 目录 1、ERPS概述: 2、ERPS名词概念解释: 3、ERPS协议报文: 4、ERPS单环基本原理: 5、单环多实例原理: 6、多环原理: 1、ERPS概述: ERPS(Ethernet Ring Protection Switching),即以太网多环保护技术,是ITU-T定义的一种二层破环协议标准,标准号为ITU-T G.8032/Y1344,因此又称为G.8032。它定义了RAPS(Ring Auto Protection Switching)协议报文保护倒换机制。 ERPS目前支持v1v2两 阅读详情

相关推荐

数学建模常用模型10 :数据包络(DEA)分析法(投入产出法)

数据包络分析是评价多输入指标多输出指标的较为有效的方法,将投入与产出进行比较。它的结果包含的意思有: ①θ=1,DEA有效,表示投入与产出比达到最优 ②θ&lt;1,非DEA有效,表示投入与产出比没有达到最优,一般来说,θ越大说明效果越好。 数据包络分析是通过对投入的指标产出的指标做了一个线性规划,并且进行变换后,然后根据其线性规划的对偶问题(线性规划对偶问题具有经济学意义),求解这个对...

HaLosec_Wei 9万+

C#客户端注册脚本的几种方法

转自:http://www.mzwu.com/article.asp?id=1641 在C#中可以使用RegisterClientScriptBlockRegisterStartupScriptRegisterClientScriptInclude来向客户端注册脚本,它们的区别是:RegisterClientScriptBlock:在页面内容前注册脚本;RegisterStartu...

dengguawei0519的博客 275

自动控制原理(胡寿松 第四版 科技出版社)

自动控制原理 第四版 胡寿松主编 科技出版社上传的是rar压缩文件,下载解压后为pdf格式文件。

C#后台调用前台js(RegisterStartupScript

C#后台调用前台js代码前台js<script type="text/javascript" language="javascript">  function Ceshi()  {    var a = "你们好啊!"    alert(a);  }</script><asp:Button ID="Button1" runat="server" Text="后台调用j...

weixin_30276935的博客 407

C#后台向前台注册脚本的代码

通过:ClientScript.RegisterStartupScript()   方法实现。 其中:1. ClientScript.RegisterStartupScript(Type type,string key,string script)这个方法中,script要加上“”. 2.ClientScript.RegisterStartupScript(Type ty

Naylor的博客 646

RegisterClientScriptBlock RegisterStartupScriptRegisterClientScriptInclude(备忘)

这两个方法都可以注册脚本RegisterClientScriptBlock 注册脚本代码一般放在,页面的最底部,而RegisterClientScriptBlock则是相反,生成在最顶部, Page.ClientScript.RegisterClientScriptInclude() 给页面 注册js脚本文件 在前台页面 用<script src="test.js" type="te...

weixin_30737363的博客 280

客户端注册脚本

C#中可以使用RegisterClientScriptBlockRegisterStartupScriptRegisterClientScriptInclude来向客户端注册脚本,它们的区别是: RegisterClientScriptBlock:在页面内容前注册脚本RegisterStartupScript:在页面内容后注册脚本; RegisterClientScriptInclu

清风古韵 691

Page.ClientScript.RegisterClientScriptBlock & Page.ClientScript.RegisterStartupScript

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

ants92564的博客 301

RegisterClientScriptBlockRegisterStartupScript有何区别

Page.RegisterClientScriptBlockPage.RegisterStartupScriptPage.ClientScript.RegisterStartupScriptRegisterClientScriptBlock一般返回的是客户端函数的包装RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock

rose001的专栏 1776

向Asp.net页面添加javascript脚本

1、使用Page.ClientScript.RegisterClientScriptBlockRegisterClientScriptBlock方法可以把JavaScript函数放在页面的顶部。也就是说,该脚本用于在浏览器中启动页面。Codeprotected void Page_Load(object sender,EventArgs e){string myScri

zjj780320380的专栏 2155

ASPNET服务器控件客户端脚本

ASPNET服务器控件客户端脚本(三) (转载)(2008-08-23 09:43:58)标签:杂谈 分类:学习类在上面的输出中,指定的脚本的确包含在ASP.NET的页面代码之前.不仅包含标记,还在脚本外部添加了适当的注释标记(这样旧式浏览器就不会崩溃).4.4.2 使用Page.ClientScript.RegisterStartupScriptRegisterStartu

wubing1111的专栏 735

通过ClientScript属性注册脚本

1、RegisterClientScriptBlock方法   向 Page 对象注册客户端脚本。将js函数放在页面的顶部 例子:2、RegisterClientScriptInclude方法RegisterClientScriptInclude(type,key,url)ClientScript.RegisterClientScriptInclude(this.GetType(),"GetSingleSelectData", "../Script/GetSingleSelectData.js");或者:P

kiddcj的专栏 569

RegisterClientScriptInclude 与 RegisterClientScriptResource 的区别

RegisterClientScriptInclude 用于产生一个  这样的代码。 ClientScript.RegisterClientScriptInclude("script1", "js/common.js");   RegisterClientScriptResource 也是产生一个 /WebResource.axd?... 这样的东西。 ClientScript.Reg

sou3713的专栏 1154

C#的Page.ClientScript.RegisterStartupScript与Response.Write

现在来讲一下.Net的WinForm的其中两个页面对象的页面弹框使用 一、语法 Response.Write(string str); Page.ClientScript.RegisterStartupScript(this.GetType(),String key, String str); 二、使用 Page.ClientScript.RegisterStartupScript(...

weixin_30709635的博客 287
上一篇: RegisterStartupScript和RegisterClientScriptBlock的用法
下一篇: C#Form下ConfigurationSettings与ConfigurationManager区别
poolatu
博客等级 码龄20年 1粉丝 10原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值