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

 

posted @ 2015-06-26 14:24  Dockyyyyy  阅读(5104)  评论(3编辑  收藏  举报