当前位置 > 首页 > Asp.net

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

2012-10-16 12:41:00来源: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>");



  • Is your career THRIVING – Microsoft has a new portal to help.

    2009-7-10 13:06:00

    Thrive – a one-stop community hub that offers job postings , technical content , and community reso

  • InteropCenter 简要说明

    2009-8-6 15:46:00

    摘要: InteropCenter简要说明1. 目的各行各业的IT基础建设已经经历了比较长的时间,从原先的信息孤岛式的建设转变为互联互通的共享式建设已经成为必然。但所有的企业也都面临如下的现状:内部

  • 写给哪些做实施的朋友

    2009-11-10 16:59:00

    阅读: 280 评论: 6 作者: 卓一行 发表于 2009-11-10 15:45 原文链接 我的一帮朋友,基本都是软件圈的人,掐指头算了一下,能分为4类: 开发的 、 测试的

  • How to use Castle.DynamicProxy-2.1, part 1

    2009-6-28 20:29:00

    PⅠ, Introduction 最近对AOP比较感兴趣, 下载了一个.net下的AOP框架实现(Castle.DynamicProxy), 关于怎么使用, 网上大部分都是有关1

  • Encrypting Data in .NET Applications

    2009-5-22 13:17:00

    I’ve had several people ask me lately about encrypting data in .NET.  I’m not sure why the que

  • Don't use foreach over MatchCollection, use for. UPDATED

    2007-6-8 0:44:00

    UPDATE . Apparently they both call GetMatch(). So my advice isnt correct. Thanks Reflector for th

  • 也谈贝叶斯分类(C#)版本

    2009-12-24 13:20:00

    阅读: 491 评论: 5 作者: 大禹治水 发表于 2009-12-24 10:05 原文链接 最近在做一个大作业。搭建一个信息检索平台。用到了贝叶斯分类参考了洞庭散人大哥的技术博客

  • 了解MOSS2007 内容类型ID(Content Type IDs)命名规则

    2007-3-30 17:42:00

    (翻译整理自WSS SDK) 内容类型的 ID 是识别内容类型的唯一标识,它设计为可递归的。 内容类型 ID 中隐含了内容类型的上下级继承关系,即从内容类型 ID 中可以看出此内容

  • C#利用QrCode.Net生成二维码(Qr码)

    2012-3-30 22:18:00

    现在网上很多应用都是用二维码来分享网址或者其它的信息。尤其在移动领域,二维码更是有很大的应用场景。因为项目的需要,需要在网站中增加一个生成二维码分析网址的功能,在谷歌大幅度抽筋的情况下无奈使用百度。

  • 《SCRUM敏捷项目管理》书评

    2007-10-9 23:09:00

    双方前锋紧紧地站在一起,裁判哨声响起,球被掷出,双方球员奋力拼搏,反复地冲刺,竭尽全力向自己的目标冲去。这是英式橄榄球中Scrum的场景。然而这样的活动,却被Ken Schwaber和 Jeff S