[转]Asp.Net调用前台js调用后台代码分享
1.C#前台js调用后台代码
前台js
1 <script type="text/javascript" language="javascript"> 2 function Ceshi() 3 { 4 var a = "<%=Getstr()%>"; 5 alert(a); 6 } 7 </script> 8 <input type="button" onclick="Ceshi();" value="js调用后台代码" />
后台代码
1 public string Getstr() 2 { 3 string aa = "你们好啊!"; 4 return aa; 5 }
2.C#后台调用前台js代码
前台js
1 <script type="text/javascript" language="javascript"> 2 function Ceshi() 3 { 4 var a = "你们好啊!" 5 alert(a); 6 } 7 </script> 8 <asp:Button ID="Button1" runat="server" Text="后台调用js" onclick="Button1_Click" />
后台代码
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 //如果有UpdatePanel就用如下代码调用前台js 4 ScriptManager.RegisterStartupScript(UpdatePanel1, this.Page.GetType(), "", "Ceshi();", true); 5 //如果没有就如下代码 6 this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script>Ceshi();</script>", true); 7 }
3.javascript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementByIdx("btn1").click();--母版页: document.getElementById("<%=txtName.ClientID%>");
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:
1、函数声明为public
后台代码(把public改成protected也可以)
1 public string ss() 2 { 3 return("a"); 4 }
2、在html里用<%=fucntion()%>可以调用
前台脚本
1 <script language=javascript> 2 var a = "<%=ss()%>"; 3 alert(a); 4 </script>
方法三:
1 <script language="javascript"> 2 <!- - 3 function __doPostBack(eventTarget, eventArgument) 4 { 5 var theForm = document.Form1; //指runat=server的form 6 theForm.__EVENTTARGET.value = eventTarget; 7 theFrom.__EVENTARGUMENT.value = eventArgument; 8 theForm.submit(); 9 } 10 --> 11 </script> 12 <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里有:
1 public Page_OnLoad() 2 { 3 if (!Page.IsPost()) 4 { 5 string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:""; 6 //根据传回来的值决定调用哪个函数 7 switch(strFunName) 8 { 9 case "enter()": 10 enter() ; //调用该函数 11 break; 12 case "其他": 13 //调用其他函数 14 break; 15 default: 16 //调用默认函数 17 break; 18 } 19 } 20 } 21 22 public void enter() 23 { 24 //……比如计算某值 25 }