当前位置 > 首页 > Asp.net

ASP.NET的后台代码和前台JS代码相互调用

10/16/2012 12:41:00 PM来源:Asp.net

        在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况。今天就把比较实用的前后台相互调用的方法总结出来和大家分享。

<1>后台代码调用前台JS代码

一、说到后台代码调用前台的JS代码很多人首先就会想到使用 ClientScript.RegisterStartupScript()方法,该方法主要是注册启动脚本文本,即在后台执行调用前台JS代码

该方法有两个重载,

1ClientScript.RegisterStartupScriptType type,string key ,string script//分别表示:1、要注册的启动脚本的类型(一般直接填this.GetType()即可),2、要注册的启动脚本的键(相当于为执行脚本起一个名字,任意名即可),3、要注册的启动脚本文本(一般为"<script>函数()</script>")

示例:

ClientScript.RegisterStartupScript(this.GetType(), "SayHello", "<script>SayHello('"+name+"')</script>");//先获取用户姓名,然后再调用前台的JS函数SayHello(name);

2ClientScript.RegisterStartupScript(Type type,string key, string script,bool flag);//该函数和第一参数的区别在于将最后一个参数设为"ture"时,第三个参数可以直接写被调用的函数,不用再加"<script></script>",这两个方法差别不是很大。

示例:

ClientScript.RegisterStartupScript(this.GetType(), "SayHello1", "SayHello('" + name + "')", true);//跟第一方法的效果一样,调用前台SayHello(name)函数,如果最后一个值设为false,则仍需添加上"<script></script>"标记

这里需要特别注意的是在注册启动脚本的时候,键是唯一的,不能重复,如果有将会报错。

二、使用ClientScript.RegisterClientScriptBlock()方法,

该方法有两个重载,使用方法几乎和ClientScript.RegisterClientScriptBlock()的两个方法一模一样。这里只是给出示例,就不再做过多的解释。

 ClientScript.RegisterClientScriptBlock(this.GetType(), "SayHello2", "ShowPerson('" + age + "')", true);         ClientScript.RegisterClientScriptBlock(this.GetType(),"SayHello2","<script>SayHello('"+name+"')</script>");



  • 信息系统开发平台OpenExpressApp - 支持列表分组(Group)

    11/25/2009 10:36:00 PM

    阅读: 182 评论: 1 作者: 快乐学习 发表于 2009-11-25 20:07 原文链接   在 《内置支持的列表编辑方式 》中介绍了OpenExpressApp内置的列表编辑方

  • Visual Basic 9.0 不完全入门系列(4) : LINQ 简介

    6/16/2007 8:44:00 PM

    摘要: LINQ 的官方中文名称为“.NET 语言集成查询”,英文全称为 Language-Integrated Query。它提供了类似于 SQL 语法的遍历,筛选与投影功能,是 Visual S

  • [原创] 我的WCF之旅(4):WCF中的序列化(Serialization)

    3/10/2007 1:04:00 AM

    摘要: 从WCF的全称来分析——Windows Communication Foundation,顾名思义,他就是解决分布式互联系统中各相互独立的子系统如何交互的问题,换句话说,它实际上就是提供 一

  • Creating Sexy Stylesheets

    10/12/2009 1:40:00 AM

    摘要: 在网上看到的一篇关于写CSS规划的文章,很不错,大家对CSS有兴趣的,可以看看。http://carsonified.com/blog/features/design/creating-se

  • [原创]浅谈ASP.NET的Postback

    4/6/2007 2:17:00 PM

    摘要: 说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生

  • (牛人莫入)Silverlight 3.0 关于窗体的跳转解决方案

    9/26/2009 6:18:00 PM

    摘要: 阅读条件:本篇文章适合SL的初学者阅读,如果你不是初者请你放弃阅读;不文不将对SL的高级开发者提供认何帮助; 我们如何能把SL利用像熟练呢?就像写Web应用程序一样呢? 其实这个问题也很简单

  • Microsoft ArcReady

    4/22/2009 10:51:00 PM

    Passed on from Zain Naboulsi Microsoft ArcReady Architecting for the Client Tier

  • 产品开发到发布过程中的郁闷

    7/16/2010 8:00:00 AM

    作者: 爱吃鱼的蜗牛 发表于 2010-07-15 21:59 原文链接 阅读: 547 评论: 3 这几天部门的兄弟们又被产品新版本发版搞得焦头烂额,很是无语,像我这种混混都觉得明显错误

  • 又一次迷茫,请同行的兄弟们给点建议

    6/23/2009 3:27:00 PM

    我2003年大学毕业,专业是农学。本来是考北大研究生的,结果没有考上,也没有心情继续考下去了。于是出社会工作, 出了社会才知道这个社会竞争是多么的激烈,也知道了什么专业比较好找工作。经过短暂的迷

  • asp.net mvc源码分析-路由篇 如何找到 IHttpHandler

    11/8/2012 1:27:00 PM

    学习是使用asp.net已经有很长一段时间了,现在就来分析一下mvc的整过过程吧。个人计划写一个mvc系列的博文,仅从源代码的角度来分析mvc。在接触mvc时我们一定会经历路由,那么路由这东东是怎么