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


浙公网安备 33010602011771号