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()
{
//……比如计算某值
}
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。
用ajax调用后台方法
$.ajax({
type:"post",
url:"${path}/这里是你后台方法,
data:{你要传到后台的数据},
dataType:"json",//数据类型
success:function(data){
//调用成功后你要干的事
}
});
1 .在C# 后台 需要调试的函数处 打上断点(F9);
2. 在后台中 按 F5 启动调试项目;
3. 如果你的JS 请求正常,那么 就会程序自动跳到你打断点的地方,然后按F10(逐过程运行
) 或 F11(逐语句运行,也就是 进入到函数内部)进行调试
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。