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里用<%=fucntion()%>可以调用
           前台脚本
           <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"> 〈!--用来存储你要调用的函数 --〉

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

方法五 直接用XHtmlRequest, client callback, javascript访问Web Service或WebMethod.

以访问WebMethod为例:
1、ScriptManager的EnablePageMethod必须为true.

HTML code
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
  <Scripts>
  <asp:ScriptReference Path="~/Scripts/MyScript.js" />
  </Scripts>  
</asp:ScriptManager>

2、服务器方法必须是static方法

C# code
[System.Web.Services.WebMethod]
public static string[] GetStringArray(string s, int cnt)
{
  string[] stringArray = new string[cnt];
  Random rnd = new Random();
  for (int i = 0; i < cnt; i++)
  {
  stringArray[i] = string.Format("Random{0}: {1}-{2}",i, s, rnd.Next(cnt));
  }
  //throw new Exception("亲爱的错误");
  System.Threading.Thread.Sleep(3000);
  return stringArray;
}

3、可以把script代码放到.js文件里,如Scripts目录下的MyScript.js内。

JScript code
function CallWebMethod(prefix,count)
{
  $get('result').innerText = "请稍侯...";
  PageMethods.GetStringArray(prefix, count, OnSuccess, OnFailed);
  return false;
}
function OnSuccess(stringArray)
{
  var s = "";
  for(var i = 0; i < stringArray.length; i++)
  {
  s += stringArray[i] + "\n";
  }
   
  $get('result').innerText = s;
}
function OnFailed(error, userContext, methodName)
{
  if(error != null)
  {
  alert("发生了亲爱的错误:" + error.get_message());
  }
}

//.aspx

HTML code
<form id="form1" runat="server">
  <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
  <Scripts>
  <asp:ScriptReference Path="~/Scripts/MyScript.js" />
  </Scripts>  
  </asp:ScriptManager>
  <div>
  <asp:Label ID="LabelPrefix" AssociatedControlID="TextBoxPrefix" runat="server" Text="string prefix: "></asp:Label>
  <asp:TextBox ID="TextBoxPrefix" runat="server"></asp:TextBox>
  <asp:Label ID="LabelCnt" AssociatedControlID="TextBoxCnt" runat="server" Text="count: "></asp:Label>
  <asp:TextBox ID="TextBoxCnt" runat="server"></asp:TextBox>
  <cc1:FilteredTextBoxExtender
  ID="FilteredTextBoxExtenderCnt" runat="server"
  TargetControlID="TextBoxCnt"
  ValidChars="1234567890"
  >
  </cc1:FilteredTextBoxExtender>
  <input id="Button1" type="button" value="button" TextBoxPrefix.ClientID %>').value,$get('<%= TextBoxCnt.ClientID %>').value)" />
  </div>
  <div id="result" style="border:solid 1px Maroon; margin: 10px; padding;5px;">
  </div>
</form>

转载于:https://blog.51cto.com/saint/410000

js 调用服务器端方法总结相关推荐

  1. JS调用服务器端方法

    javascript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;         2.在前台写一个js函数,内容为documen ...

  2. 使用 AjaxManager 生成调用服务器端方法的 javascript 函数

    通过 AjaxManager, 我们可以方便的生成调用 WebService 或者一般处理程序的 javascript 函数, 这样就可以方便的在客户端调用. 本文更新: 2011-12-12: 去掉 ...

  3. Unity,WebGL, 页面JS调用Unity方法

    与WebPlayer类似,在JS中用SendMessage 比如在Unity场景中有一个GameObject,叫A, A上有C#脚本,里面有个方法 public void F(string str) ...

  4. java 调用服务器文档,JAVA远程调用服务器端方法

    JAVA远程调用服务器端方法 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器,本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时,云服 ...

  5. Node.js 调用 C++ 方法 / C++ Addons 详解

    最近开发涉及到了一些Node.js调用C++的地方,于是网上搜了一下,发现网上好多文章都是比较片面的东西,没法直接使用.于是花点时间总结一下. Android开发中Java 调用C++的部分叫JNI, ...

  6. js调用后台方法与后台调用js方法

    JS调用后台方法大全 javascript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为docu ...

  7. 页面回传与js调用服务器端事件(转)

    第一章. Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务器端事件分为两种情况: 一.   WebControls中的Button 和HtmlControls中的Type ...

  8. 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 学习目标 了解智能合约 简单环境搭建 能够利用solidity编写Hello World合约 合约部署 和合约互 ...

  9. 关于datagrid中控件利用js调用后台方法事件的问题

    前台调用后台方法除了用button的click事件,还可以用js调用  一.前台页面如图 需求点击这个按钮触发后台事件,从而能够调用存储过程 <epoint:HyperLinkColumn He ...

最新文章

  1. 快速排序算法的实现 随机生成区间里的数 O(n)找第k小 O(nlogk)找前k大...
  2. 详解Linux 五种IO模型
  3. Web文件的ContentType类型大全
  4. 小技巧教你解决此windows副本不是正版的问题
  5. 被问到有没有内核开发经验_一个人就是一个开发团队!成电硬核毕业生自制迷你电脑走红!...
  6. springCloud - 第11篇 - Eureka 注册中心集群的实现
  7. 【Java】机票分类打折程序的Swing实现
  8. 迷宫问题c语言报告,c语言写的迷宫问题
  9. SU(Seismic Unix)与CUDA的混合编程
  10. amos调节变量怎么画_AMOS 中验证性因素分析(CFA)
  11. 用vscode创建一个c项目_Visual Studio Code创建C#项目
  12. SonicWall 紧急提醒:EOL 设备正遭勒索攻击!
  13. ubuntu系列-很好用的截图工具shutter
  14. SQL查询语句精华使用简要
  15. MySQL 5.6 关于登陆的初始化设置
  16. 【天意使用教程系列】破解系统登录密码
  17. word 最后一页删不掉及删除后其它页面页码不对的问题
  18. 风景照片转水彩画效果PS动作
  19. 不同音乐格式之谜(wav,flac,ape,wv,tak,ogg,aac)
  20. php 接入google 验证用户登录

热门文章

  1. 框架controller找不到_SpingBoot框架知识详解
  2. 【计算机系统设计】实践笔记(6)改进数据通路:lw和sw指令
  3. 函数mkdir、mkdirat和emdir
  4. Python内置数据类型之list
  5. java开发小程序好吗,看完必懂
  6. 浅析JavaScript解析赋值、浅拷贝和深拷贝的区别
  7. Put-Me-Down项目Postmortem2
  8. C#异常处理机制初步
  9. 如何看待和选择基础设施软件
  10. 网页常用Javascript