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

 我来答
尐i強
2016-10-19 · 知道合伙人数码行家
尐i強
知道合伙人数码行家
采纳数:6178 获赞数:32340
暂无成就。

向TA提问 私信TA
展开全部

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()
{
//……比如计算某值

就烦条0o
2016-04-10 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
js和c#运行的时间不同步,位置不一样。
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九方清韩馀9N
2016-05-12 · TA获得超过134个赞
知道答主
回答量:221
采纳率:0%
帮助的人:86.4万
展开全部
        用ajax调用后台方法
       $.ajax({
type:"post",
url:"${path}/这里是你后台方法,
data:{你要传到后台的数据},
dataType:"json",//数据类型
success:function(data){
//调用成功后你要干的事   
  }
    });
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
墨驰逸0h9
2016-04-22 · 超过17用户采纳过TA的回答
知道答主
回答量:66
采纳率:55%
帮助的人:10.9万
展开全部
是在JS中 请求 C# 后台函数吗?
1 .在C# 后台 需要调试的函数处 打上断点(F9);
2. 在后台中 按 F5 启动调试项目;
3. 如果你的JS 请求正常,那么 就会程序自动跳到你打断点的地方,然后按F10(逐过程运行
) 或 F11(逐语句运行,也就是 进入到函数内部)进行调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澹白E9
2016-09-16
知道答主
回答量:20
采纳率:0%
帮助的人:10.3万
展开全部
js和c#运行的时间不同步,位置不一样。
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式