我们通过问答的方式来为大家解答C#与JAVASCRIPT函数的相互调用:1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数?
问题1答案如下: javaScript函数中执行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() { // ……比如计算某值 } 答案如下: 方法一: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