C#与JAVASCRIPT函数的相互调用

本文介绍了C#与JavaScript函数的四种相互调用方法:在JavaScript中调用C#函数及变量,以及在C#中访问JavaScript变量和函数的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们通过问答的方式来为大家解答C#与JAVASCRIPT函数的相互调用: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里用可以调用

前台脚本

以下为引用的内容:

< 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’,’’) " >

方法四:

以下为引用的内容:

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中引用该变量的格式为’’或"++"

方法三: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"," ");

方法二:使用Literal类,然后

以下为引用的内容:

private void Button2_Click( object sender, System.EventArgs e)
  {
  
string str;
  str
= "" ;
  
// Literal1.Visible=true;
  Literal1.Text = str;
  }

 

转载之http://hi.baidu.com/lonetraveller/blog/item/1f286609d37b252c6b60fb3e.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值