在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript。该对象比较常用的方法:

1、RegisterArrayDeclaration:在服务端,向客户端生成一个数组定义

服务端代码:   this.ClientScript.RegisterArrayDeclaration("aAry", "1,2,3");

客户端“源文件”呈现

<script type="text/javascript">
<!--
var aAry =  new Array(1,2,3);
// -->
</script>

2、RegisterClientScriptBlock:向客户端写一个脚本块,这种方式,不会自动在前后加上 <script type="text/javascript">和</script>

服务端代码:this.ClientScript.RegisterClientScriptBlock(this.GetType(), "sblk", "var aa=1;");

客户端“源文件”呈现:var aa=1;

3、RegisterClientScriptInclude:在客户端写一个<script type="text/javascript" src=...></script>

服务端代码:this.ClientScript.RegisterClientScriptInclude("js", "http://www.baidu.com/test.js");

客户端“源文件”呈现:<script src="http://www.baidu.com/test.js" type="text/javascript"></script>

4、RegisterExpandoAttribute:本方法最少三个参数,即客户端控件id、属性名、属性值,在客户端生成一个为控件属性赋值的语句

服务端代码:this.ClientScript.RegisterExpandoAttribute("form1", "formtype", "form");

客户端“源文件”呈现:

<script type="text/javascript">
<!--
var form1 = document.all ? document.all["form1"] : document.getElementById("form1");
form1.formtype = "form";
// -->
</script>

5、RegisterHiddenField:自动在客户端生成一个<input type="hidden"...

服务端代码:this.ClientScript.RegisterHiddenField("hiddenField", "i'm a hidden");

客户端“源文件”呈现:

<input type="hidden" name="hiddenField" id="hiddenField" value="i'm a hidden" />

6、RegisterOnSubmitStatement:在客户端form的onsubmit事件中,自动添加指定的代码

服务端代码:

this.ClientScript.RegisterOnSubmitStatement(this.GetType(), "onsubmit1", "var onsubmit11=1;");
   this.ClientScript.RegisterOnSubmitStatement(this.GetType(), "onsubmit2", "var onsubmit22=2;");

客户端“源文件”呈现:首先为form指定事件处理程序,如:<form id=... onsubmit="javascript:return WebForm_Submit();"

其次不论在服务端使用几次RegisterOnSubmitStatement语句,均生成一个javascript function,并将每个RegisterOnSubmitStatement方法中的客户端脚本连接作为该事件处理程序的语句:

<script type="text/javascript">
<!--
function WebForm_OnSubmit() {
var onsubmit11=1;var onsubmit22=2;
return true;
}
// -->
</script>

7、RegisterStartupScript:将制定的脚本代码放到</form>前,并且,该方法发送到客户端的代码前后不会自动添加<script> 和</script>

服务端代码:this.ClientScript.RegisterStartupScript(this.GetType(), "testStartup", "var jjj=2");

客户端“源文件”呈现:var jjj=2

如多次使用,则在客户端也是顺序连接

Asp.net 中,在服务端向客户端写脚本的常用方法的更多相关文章

  1. Asp.Net_ 服务端向客户端写JavaScript脚本

    在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript.该对象比较常用的方法: 1.RegisterArrayDe ...

  2. TCP中的服务端与客户端的实现

    TCP中首先要在服务端开启监听,这样才可以从客户端链接 using System; using System.Collections.Generic; using System.Linq; using ...

  3. WCF心跳判断服务端及客户端是否掉线并实现重连接

    WCF心跳判断服务端及客户端是否掉线并实现重连接 本篇文章将通过一个实例实现对WCF中针对服务端以及客户端是否掉线进行判断:若掉线时服务器或客户端又在线时将实现自动重连:将通过WCF的双工知识以及相应 ...

  4. asp.net获取服务端和客户端信息

    asp.net获取服务端和客户端信息 获取服务器名:Page.Server.ManchineName获取用户信息:Page.User 获取客户端电脑名:Page.Request.UserHostNam ...

  5. 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq

    常量,字段,构造方法   常量 1.什么是常量 ​ 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean ...

  6. 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)

    由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...

  7. app开发中如何利用sessionId来实现服务端与客户端保持回话

    app开发中如何利用sessionId来实现服务端与客户端保持回话 这个问题太过于常见,也过于简单,以至于大部分开发者根本没有关注过这个问题,我根据和我沟通的开发者中,总结出来常用的方法有以下几种: ...

  8. seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案

    seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案 说明: 之所以只用nacos进行了注册与发现,因为seata使用naco ...

  9. 基于SignalR的服务端和客户端通讯处理

    SignalR是一个.NET Core/.NET Framework的实时通讯的框架,一般应用在ASP.NET上,当然也可以应用在Winform上实现服务端和客户端的消息通讯,本篇随笔主要基于Sign ...

随机推荐

  1. Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?

    Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?    答:    网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg- ...

  2. ansible的简单使用

    环境搭建跳过(暂无,这个以后再学习学习,不要在意这些细节) 首先,在环境搭建好后,用两台虚机来做测试,一台192.168.181.130做测试机,一台192.168.181.131为批量处理服务器 编 ...

  3. source和sh

    写了一个脚本[xxyScript.sh],用于判断tomcat是否启动 #!/bin/bash if [ -z "$(ps -ef | grep tomcat | grep -v 'grep ...

  4. [转帖]Beyond Compare如何进行二进制比较

    Beyond Compare如何进行二进制比较 http://www.beyondcompare.cc/jiqiao/erjinzhi-bijiao.html 在使用Beyond Compare软件比 ...

  5. 深入探索.NET内部了解CLR如何创建运行时对象

    前言 SystemDomain, SharedDomain, and DefaultDomain. 对象布局和内存细节. 方法表布局. 方法分派(Method dispatching). 因为公共语言 ...

  6. python & dict & switch

    python & dict & switch python 中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. # ...

  7. C++解析命令行参数(仿C语言args)

    说好不造轮子的,就管不住这手 #include <cstdio> #include <string> #include <vector> bool ParseCha ...

  8. 【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换

    1.实体类转换方法 参照文章:http://www.cnblogs.com/dflmg/p/6933811.html 2.K-V方法(此方法比较笨,但是没有办法,我现在不知道有没有相关的简单API,只 ...

  9. ava8并发教程:Threads和Executors

    原文地址  原文作者:Benjamin Winterberg 译者:张坤 欢迎阅读我的Java8并发教程的第一部分.这份指南将会以简单易懂的代码示例来教给你如何在Java8中进行并发编程.这是一系列教 ...

  10. MT【159】单调有界有极限

    已知数列$\{a_n\}$满足:$a_n>0,a_{n+1}+\dfrac{1}{a_n}<2,n\in N^*$.求证:(1)$a_{n+2}<a_{n+1}<2 (n\in ...