js 调用服务器端方法总结
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 调用服务器端方法总结相关推荐
- JS调用服务器端方法
javascript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为documen ...
- 使用 AjaxManager 生成调用服务器端方法的 javascript 函数
通过 AjaxManager, 我们可以方便的生成调用 WebService 或者一般处理程序的 javascript 函数, 这样就可以方便的在客户端调用. 本文更新: 2011-12-12: 去掉 ...
- Unity,WebGL, 页面JS调用Unity方法
与WebPlayer类似,在JS中用SendMessage 比如在Unity场景中有一个GameObject,叫A, A上有C#脚本,里面有个方法 public void F(string str) ...
- java 调用服务器文档,JAVA远程调用服务器端方法
JAVA远程调用服务器端方法 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器,本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时,云服 ...
- Node.js 调用 C++ 方法 / C++ Addons 详解
最近开发涉及到了一些Node.js调用C++的地方,于是网上搜了一下,发现网上好多文章都是比较片面的东西,没法直接使用.于是花点时间总结一下. Android开发中Java 调用C++的部分叫JNI, ...
- js调用后台方法与后台调用js方法
JS调用后台方法大全 javascript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为docu ...
- 页面回传与js调用服务器端事件(转)
第一章. Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务器端事件分为两种情况: 一. WebControls中的Button 和HtmlControls中的Type ...
- 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法
链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 学习目标 了解智能合约 简单环境搭建 能够利用solidity编写Hello World合约 合约部署 和合约互 ...
- 关于datagrid中控件利用js调用后台方法事件的问题
前台调用后台方法除了用button的click事件,还可以用js调用 一.前台页面如图 需求点击这个按钮触发后台事件,从而能够调用存储过程 <epoint:HyperLinkColumn He ...
最新文章
- 快速排序算法的实现 随机生成区间里的数 O(n)找第k小 O(nlogk)找前k大...
- 详解Linux 五种IO模型
- Web文件的ContentType类型大全
- 小技巧教你解决此windows副本不是正版的问题
- 被问到有没有内核开发经验_一个人就是一个开发团队!成电硬核毕业生自制迷你电脑走红!...
- springCloud - 第11篇 - Eureka 注册中心集群的实现
- 【Java】机票分类打折程序的Swing实现
- 迷宫问题c语言报告,c语言写的迷宫问题
- SU(Seismic Unix)与CUDA的混合编程
- amos调节变量怎么画_AMOS 中验证性因素分析(CFA)
- 用vscode创建一个c项目_Visual Studio Code创建C#项目
- SonicWall 紧急提醒:EOL 设备正遭勒索攻击!
- ubuntu系列-很好用的截图工具shutter
- SQL查询语句精华使用简要
- MySQL 5.6 关于登陆的初始化设置
- 【天意使用教程系列】破解系统登录密码
- word 最后一页删不掉及删除后其它页面页码不对的问题
- 风景照片转水彩画效果PS动作
- 不同音乐格式之谜(wav,flac,ape,wv,tak,ogg,aac)
- php 接入google 验证用户登录