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 }