当前位置:编程学习 > C#/ASP.NET >>

[Help]如何实现前台JS脚本和后台C#代码相互通信?

RT,谢谢。。。 --------------------编程问答-------------------- 方法很多,Ajax应该是这样的

上网查客户端调用服务器方法

就很多,客户端调用服务器方法,有参数传递,就可以实现通信了

或者将客户端方法注册到服务器上都行

要不去研究下xmlhttp --------------------编程问答-------------------- 回答不对别拍砖 --------------------编程问答-------------------- ref to :
http://topic.csdn.net/u/20100820/14/c5aa1af0-4b35-4651-8d13-3fc4df5c48c0.html --------------------编程问答-------------------- __doPostback("button1") --------------------编程问答-------------------- http://www.cnblogs.com/csharponworking/archive/2011/03/30/2000329.html --------------------编程问答--------------------
使用WebServices  

前台js:
function f_CheckSave()
{
  js代码..........
 PageMethods.check(parameter,recallcheck);
}


cs 文件:

[System.Web.Services.WebMethod]
 public static string check(string parameter)
 {   
        后台代码.........
      
 } --------------------编程问答-------------------- Ajax --------------------编程问答-------------------- HttpRequest --------------------编程问答-------------------- js运行在客户端,C#运行在服务器端,要交互只有一个办法,就是把js的相关值通过表单提交到服务器端 --------------------编程问答-------------------- 或者用Ajax或通过url参数等提交也可以 --------------------编程问答-------------------- http://blog.csdn.net/porschev/archive/2010/10/15/5943579.aspx

--------------------编程问答-------------------- 代码例子都有~ --------------------编程问答--------------------
引用 6 楼 lusixia2 的回复:
使用WebServices  

前台js:
function f_CheckSave()
{
  js代码..........
 PageMethods.check(parameter,recallcheck);
}


cs 文件:

[System.Web.Services.WebMethod]
 public static string check(string ……

正解,不过在aspx页面还需要加入<asp:ScriptManager>控件,而且还需要设置EnablePageMethods属性值为true. --------------------编程问答-------------------- 通信是指什么?
我只知道JS调用后台的值和方法,后台调用前台<input>控件的值
js

var i="<%=后台申请的值(必须public申请)%>";
//方法的这个用着估计有些问题...
<%方法()%>

C#

billno = Request.Form["控件ID"].ToString();
--------------------编程问答--------------------

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"); 
  }

  2、在html里用可以调用

  前台脚本

<script language=javascript> 

  var a = "<%=ss()%>"; 

  alert(a); 

</script>

  方法三:1、 

<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','')">

  方法四: 

<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"> 〈!--用来存储你要调用的函数 --〉
 


--------------------编程问答-------------------- Ajax pro
--------------------编程问答-------------------- 实现方法好多啊,
谢谢楼上各位朋友的回复。。。 --------------------编程问答-------------------- 后台执行前台js
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>alert('hello world')</script>");

前台就用ajax访问 。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,