C#与Javascript变量、函数之间的相互调用
2008年11月28日 星期五 05:28 P.M.

1.如何在JavaScript访问C#函数?

2.如何在JavaScript访问C#变量?

3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
          2、在前台写一个js函数,内容为document.getElementById("btn1").click();
          3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:1、函数声明为public
             后台代码(把public改成protected也可以)
public string ss()
...{
        return("a");
}
          2、在html里用<%=fucntion()%>可以调用
             前台脚本
<script language=javascript>
             var a = "<%=ss()%>";
              alert(a);
</script>
方法三:
<script language="javascript">
...              <!—
              function __doPostBack(eventTarget, eventArgument)
              {
                 var theForm = document.Form1;        //指runat=server的form
                 theForm.__EVENTTARGET.value = eventTarget;
                 theFrom.__EVENTARGUMENT.value = eventArgument;
                 theForm.submit();
              }
              -->
</script>
<input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')"/>
ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
这两个参数分别由隐藏的两个表单域__ EVENTTARGET和__ EVENTARGUMENT保存。
这两个隐藏的表单可以查找引起页面回送的控件ID和回送时的参数:
string target = Request.Params["__EVENTTARGET"];
string args = Request.Params["__EVENTARGUMENT"];
asp:Button和asp:ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。
方法四:
<script language="javascript">
.function SubmitKeyClick()
...{
      if (event.keyCode == 13)
      ...{
           event.cancelBubble = true;
           event.returnValue = false;
           document.all.FunName.value="你要调用的函数名";
           document.form[0].submit();
       }
}
</script>
<INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">
<input type="hidden" name="FunName"> <!--用来存储你要调用的函数 -->
在.CS里有:
public Page_OnLoad()
{
if (!Page.IsPost())
{
string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
//根据传回来的值决定调用哪个函数
switch(strFunName)
{
case "enter()":
enter() ; //调用该函数
break;
case "其他":
//调用其他函数
break;
default:
//调用默认函数
break;
}
}
}
public void enter()
{
//……比如计算某值
}
问题2.如何在JavaScript访问C#变量?
答案如下:
方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
             "<script language='javascript'>var temp=" + tmp + "</script>"
             tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?
答案如下:
方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
          2、后台用request["id"]来获取值;
方法二:可以用cookie或session
4.如何在C#中访问JavaScript函数?
答案如下:
c#代码中执行javaScript函数:
方法一:
Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
方法二:使用Literal类,然后
private void Button2_Click(object sender, System.EventArgs e)
...{
string str;
str="<script language='javascript'>";
str+="selectRange()";
str+="</script>";
//Literal1.Visible=true;
Literal1.Text=str;
}

C#与Javascript变量、函数之间的相互调用2008年11月28日 星期五 05:28 P.M.1.如何在JavaScript访问C#函数?相关推荐

  1. js 中meta 移除head_JS函数和winform函数之间的相互调用

    1.写一个简单的html页面,用于输入日志,代码如下: <html><head> <meta charset="UTF-8"> <scri ...

  2. Android加载网页JavaScript与Java之间的相互调用

    最近项目中涉及到Android中的网络通信与交互.html5等相关内容,由于之前没仔细研究过,在这里总结一下,下面是JavaScript与Java相互调用的一个小例子,废话不多说,直接上代码: < ...

  3. C与C++之间的相互调用(混合编程)

    C和C++各自有自身的重要功能,为了能够做到充分利用,避免重复造轮子,有的时候,我们会用到混合编程.然而,我们知道,代码从编写到能执行之前,仍需要经过编译.链接阶段.通常,编译每一个单元文件会生成目标 ...

  4. Python与C之间的相互调用

    Python与C之间的相互调用(Python C API及Python ctypes库) 分类: [Python]2010-01-24 17:58 32468人阅读 评论(11) 收藏 举报 pyth ...

  5. iOS架构-多工程联编及framework之间的相互调用(19)

    对于大公司,大工程来说,业务线很多,也时刻在变,功能模块要求能随时下线,或者业务不再需要了,就需要从主工程中移除相关工程或者库.以减小包的大小.多工程联编是一种多业务合作的一种方法. 有篇文章写的很详 ...

  6. JAVASCRIPT 取得当前时间,包括农历时间 时间格式:2011年11月8日 16:54 星期二 农历辛卯年(兔) 十月十三 申时...

    JAVASCRIPT 取得当前时间,包括农历时间 时间格式:2011年11月8日 16:54 星期二 农历辛卯年(兔) 十月十三 申时 写成了一个Js包(附件里)里了,直接调用函数就行 测试代码: & ...

  7. python 函数定义先后是否会影响函数之间的相互调用?(不影响)

    # -*- coding: utf-8 -*- """ @File : 201006_测试是否能将被调用函数写在被调用函数之后.py @Time : 2020/1/6 1 ...

  8. python文件之间的相互调用_「Python 系列」 Python 生成器函数详解

    Python的生成器函数提供了一种强大的机制来管理数据和计算资源,但是对于Python的新手来说,它们不一定直观.在本文中,我将分解生成器的机制,同时还介绍我希望是一个有启发性的示例:用于管理和流传输 ...

  9. 父窗口、子窗口和Silverlight之间的相互调用

    啊哈~ 爷爷,爸爸,儿子~ 三代同堂~ 前两天做 silverlight 的东西,主页面打开一个子页面,然后子页面中包含一个 silverlight 应用程序 那难免会涉及到他们三者相互调用的问题 其 ...

最新文章

  1. 高速串行总线的设计基础(一)同步时序模型介绍
  2. ant design pro (十六)advanced 权限管理
  3. java List的用法
  4. 一张图了解javaJwt
  5. spring boot实战(第九篇)Application创建源码分析
  6. weblogic如何在linux扩容,如何在linux的weblogic上增加启动参数
  7. 线程的创建开销大吗?线程创建开销包括哪些?线程池
  8. nhibernate处理多数据库
  9. was服务器里面jar包_was8.5.5.9项目部署失败,出现mybatis的jar包异常
  10. TCP多进程并发服务端 Linux socket编程入门(2)
  11. vue取数据第一个数据_我作为数据科学家的第一个月
  12. C# 值类型与引用类型(1)
  13. django-关联查询-通过模型类跨表关联查询
  14. CAD2012安装错误
  15. 数据结构学习笔记06排序 (快速排序、表排序、基数排序)
  16. 蓝色对比关系图表合集PPT模板
  17. Django 前戏
  18. Android发带附件和图片的邮件
  19. 关于element-plus的Dropdown 下拉菜单属性的修改
  20. 蜘蛛侠面具(头套制作)

热门文章

  1. 类型与通用语言运行时
  2. 网络工程师面试PK--胜者为王
  3. pointnet与pointnet++
  4. 删除指定路径下的文件
  5. scrapy-redis 分布式学习记录
  6. Python学习之路,第二次复习:列表,元组
  7. 设计模式——策略模式(C++实现)
  8. 《第一行代码》学习笔记9-活动Activity(7)
  9. HTTP的 Basic 验证
  10. ArcGIS9.3全套下载地址