[轉]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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM