javascript与c#之间的调用
(一)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"> <inputtype="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 (){ //……比如计算某值}
(二) C# 访问javascript函数
方法一:
1 、Page.RegisterStartupScript("ggg" ,"<script>SetVisible (1 );</script>");
方法二:
使用Literal类,然后private void Button2_Click(object sender , System.EventArgse ) { string str;str="<script language='javascript'>";str+="selectRange()" ;str+="</script>";//Literal1.Visible=true ;Literal1.Text=str;}
方法三:
button1.Attributes.Add("onclick" , "return selectRange()" );
(三) C# 访问javascript已有变量
方法一:
1 、前台使用静态文本控件隐藏域,将js变量值写入其中;
2 、后台用request["id"] 来获取值;
(四)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获得值。