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"); }
<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','')">
在.CS裡有:
<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"> 〈!--用来存储你要调用的函数 --〉
答案如下:
方法一:1、透過頁面上隱藏網域存取
方法三:1、或你可以在伺服器端變數賦值後在頁面註冊一段腳本
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、前台使用靜態文字控制項隱藏域,將js變數值寫入其中;
2、後台使用request["id"]取得值;方法二:可用cookie或session
4.如何在C#中存取JavaScript函數?
c#程式碼中執行javaScript函數:
方法一:1、"<script language='javascript'>var temp=" + tmp + "</script>"
Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
#
以上是詳細介紹C#程式碼與javaScript函數的相互調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!