c#js 里怎么调用后台的函数

如题所述

javaScript函数中执行C#代码中的函数

方法一:

1、首先建立一个按钮,在后台将调用或处理的内容写入Button1_Click中;

代码如下:

protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = "voodooer";

2、在前台可以这样调用:

代码如下:

<input type="button" value="访问C#的方法" onclick='document.getElementById("Button1").click();' /> 

方法二:

1、函数声明为public 或者protected

代码如下:

public string ss()
{
return("voodooer");

2、 前台调用方法

代码如下:

<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 type="button" value="按钮" > 

方法四:

代码如下:

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

在JavaScript访问C#变量

方法一:1、通过页面上隐藏域访问 <input type="hidden" runat="server">
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为' <%=n%>'或"+ <%=n%>+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
" <script language='javascript'>var temp=" + tmp + " </script>"
tmp是后台变量,然后js中可以直接访问temp获得值。 


注意:

在.CS里有: 

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个回答  2016-04-10
js和c#运行的时间不同步,位置不一样。
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。本回答被网友采纳
第2个回答  2016-05-12
        用ajax调用后台方法
       $.ajax({
type:"post",
url:"${path}/这里是你后台方法,
data:{你要传到后台的数据},
dataType:"json",//数据类型
success:function(data){
//调用成功后你要干的事   
  }
    });

第3个回答  2016-04-22
是在JS中 请求 C# 后台函数吗?
1 .在C# 后台 需要调试的函数处 打上断点(F9);
2. 在后台中 按 F5 启动调试项目;
3. 如果你的JS 请求正常,那么 就会程序自动跳到你打断点的地方,然后按F10(逐过程运行
) 或 F11(逐语句运行,也就是 进入到函数内部)进行调试
第4个回答  2016-09-16
js和c#运行的时间不同步,位置不一样。
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。