文档章节

C#代码与javaScript函数的相互调用

 孟宪迎
发布于 2009/12/27 15:28
字数 609
阅读 168
收藏 3

问:
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>
方法三:
1、<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','')"

方法四:<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函数:
方法一:
1、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;
}

© 著作权归作者所有

粉丝 5
博文 9
码字总数 24078
作品 0
海淀
私信 提问
Unity3D中JavaScript与C#对比

第一节 在使用unity3d进行游戏开发或者互动项目制作的时候,有3种编辑语言可供使用,不过用的最多的应该是javascript和c#两种语言,相信很多朋友特别是新手都会很纠结于到底该用二者种的哪一...

dangnianmingyue_gg
2016/03/22
0
0
javascript与c#相互调用

首先建立网页: 二、建立Windows应用程序 创建Windows应用程序项目 在Form1窗体中添加WebBrowser控件 在Form1类的上方添加 [System.Runtime.InteropServices.ComVisibleAttribute(true)] 这是...

crossmix
2015/04/16
0
0
.NET Core开发日志——Edge.js

最近在项目中遇到这样的需求:要将旧有系统的一部分业务逻辑集成到新的自动化流程工具中。这套正在开发的自动化工具使用的是C#语言,而旧有系统的业务逻辑则是使用AngularJS在前端构建而成。...

Ken.W
2018/10/20
0
0
使用面向对象技术创建高级Web应用程序

最近,我面试了一位具有5年Web应用开发经验的软件开发人员。她有4年半的JavaScript编程经验,自认为自己具有非常优秀的JavaScript技能,可是,随后我很快发现,实际上她对JavaScript却知之甚...

时过境迁_
2013/06/20
11.7K
41
在Javascript得到当前第几周的代码

经常需要在js里取得当前第几周的需求,在java和c#里面有相应的方法,而js里却需要自己来实现,这里基于javascript 的 Date原型写了一个函数供需要的人使用,下面是代码:...

前端大师傅
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FPGA 设备 USB Platform Cable USB

lsusbFuture Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

MtrS
今天
4
0
lua web快速开发指南(6) - Cache、DB介绍

"数据库"与"缓存"的基本概念 数据库与缓存是服务端开发人员的必学知识点. 数据库 "数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数...

水果糖的小铺子
今天
6
0
Oracle分页查询语句的写法

Oracle分页查询语句的写法 Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,Oracle分页查询语句基本上可以按本文给出的格式来进行套用。   Oracle分...

康师傅
昨天
5
0
java并发图谱

1527
昨天
2
0
Mybatis之拦截器Interceptor

使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybatis的版本是3.4.6,MybatisHelper的版本是5.1.3。 1、PageInterceptor 先上一段代码,如下...

克虏伯
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部