最近大家都在谈论RegisterStartupScript()和RegisterClientScriptBlock(),对于这两个函数把script注册在form的什么地方好像还有许多人没有搞清楚. 不过这个问题都快谈烂了,我就不在多说了, 如果实在不知道的话 你写一段程序自己试验一下就可以嘞. 我今天谈谈其他几个向页面注册script的方法.


1.RegisterHiddenField().其是向客户端页面注册一个隐藏的字段(废话,从名字就能看出来嘞).其主要的作用就是通过服务器端给客户端赋一个 对页面来说是全局的变量 其在整个客户端的页面内都能被访问到.  这个方法尤其方便嘞客户端“访问”服务器端的数据(这里的访问当然不是真正的访问服务器端的数据,而是服务器发生 他的一个副本数据到客户端.)

例如一下C#代码: RegisterHiddenField("myHidden","i was registered by HiddenFeild!heh.");//通常第二个参数从数据库读取.

其发送到客户端后就成为:<input type="hidden" name="myHidden" value="i was registered by HiddenFeild!heh." />

这样js就能获取到服务器的数据嘞.


2.RegisterArrayDeclaration() 这个是通过服务器向客户端注册数组.

例如 服务器端C#代码如下:RegisterArrayDeclaration("myArray", "'x','y','z'");

其发送到客户端 就成为:

<script language="javascript">

<!--

 var myArray =  new Array('x','y','z');

  // -->

</script>  关于js使用数组我就不多说嘞吧(其实我也不会:) ).

3.RegisterOnSubmitStatement().发送一段脚本到webForm提交的事件中.在你提交Form前就会触发到这段脚本.

例如服务器端C#代码如下:RegisterOnSubmitStatement("","javascript:alert('on submitting!!');");


到客户端 其为:<form name="Form1" method="post" action="WebForm1.aspx" language="javascript" onsubmit="javascript:alert('on submitting!!');" id="Form1">. 其中form的属性onsubmit对应的值就是服务器端发送过来的.