在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
调用Javascript
不管是论坛还是QQ群里,很多同学都会问一个问题,就是他的后台程序怎么调用前台JS的方法。问这个问题其实不奇怪,奇怪的是很多同学没想到的一点就是B/S到底是怎么工作的?知道工作方式我们还能不会“调用”吗?
B/S:Browser / Server,即“浏览器/服务端”模式的应用程序。Browser就是浏览器,浏览器打开网页后网页是在哪?客户端!缓存里!Javascritpt是客户端运行的,而后台程序是服务器运行的,服务器怎么能调用到客户端的代码呢?
服务器的责任是什么?是负责的是页面的生成! 既然可以是生成页面,我可以生成的代码里有对某个JS的方法的调用。
例如:
<script>
function alertme(){ alert("hello"); } </script>
我想调用这个alertme,如果我生成的html代码里有 <script>alertme();</script>就可以了吧?怎么才能有? 输出啊!
ASP.NET里也提供了几种不同的输出方式,RegisterClientScriptBlock 、RegisterStartupScript、 RegisterClientScriptInclude、RegisterClientScriptResource等,平时我们用Reponse.Write("")即可。那么这么多RegisterClientScript我该用哪个呢?
首先我们要清楚这些RegisterClientScript是干什么的,自然就知道怎么用了。打开MSDN(我们要习惯查看MSDN)看看每个的详细介绍。
protected void Page_Load(object sender, EventArgs e)
{ Page.ClientScript.RegisterStartupScript(GetType(), "alert", "<script type=text/javascript> document.write('RegisterStartupScript'); </script>"); Page.ClientScript.RegisterClientScriptBlock(GetType(), "alert", "<script type=text/javascript> document.write('RegisterClientScriptBlock'); </script>"); Page.ClientScript.RegisterClientScriptInclude(GetType(), "alert", "scripts/jquery-1.4.1.js"); Page.ClientScript.RegisterClientScriptResource(GetType(), "jquery"); }
看看生成的HTML:
代码
<!--这是Block-->
<script type=text/javascript> document.write('RegisterClientScriptBlock'); </script> <!--这是Include--> <script src="scripts/jquery-1.4.1.js" type="text/javascript"></script>
<!--这是Source--> 摘自 http://space.itpub.net/12639172/viewspace-673143 |
请发表评论