利用Anthem.net 实现前台javascript调用服务器端c#函数 及流程分析
2008-12-31 16:51
721 查看
Javascript调用服务器端c#函数(页面函数, 母版函数, 控件函数), 这个功能很早anthem.net就提供了, 且在帮助手册中有相关的例子, 但自己没怎么注意, 今天看同事研究anthem.net时, 突然发现了 . 看来anthem.net给我们留下的发挥空间还是挺大的.
下面举一个简单的例子, 及分析下执行流程.
例子如下:
CS定义函数Add
添加函数的属性, 这样才能在客户端调用他.
[Anthem.Method]
public int Add(int a, int b)
{
return a + b;
}
在页面加载时注册
在aspx页面添加以下html控件
<input id="a" size="3" value="1" />
<input id="b" size="3" value="2" />
<button onclick="DoAdd(); return false;" type="button">Add</button>
<input id="c" size="6">
添加javascript函数, 用来调用服务器端方法.
<script type="text/javascript">
function DoAdd() {
Anthem_InvokePageMethod(
'Add',
[document.getElementById('a').value, document.getElementById('b').value],
function(result) { document.getElementById('c').value = result.value; }
);
}
</script>
第一个参数"add"是服务器端函数名称
第二个参数时传给服务器端函数的参数
第三个参数是服务器端函数执行后的回调方法.
回调结果result是一个对象, 具有一个value属性和error属性. 如果服务器端函数调用出现错误, 则记录在error中, value是返回服务器端方法的执行结果.
下面举一个简单的例子, 及分析下执行流程.
例子如下:
CS定义函数Add
public int Add(int a, int b) { return a + b; }
添加函数的属性, 这样才能在客户端调用他.
[Anthem.Method]
public int Add(int a, int b)
{
return a + b;
}
在页面加载时注册
[b]Anthem.Manager [/b]
void Page_Load() { Anthem.Manager.Register(this); }
在aspx页面添加以下html控件
<input id="a" size="3" value="1" />
<input id="b" size="3" value="2" />
<button onclick="DoAdd(); return false;" type="button">Add</button>
<input id="c" size="6">
添加javascript函数, 用来调用服务器端方法.
<script type="text/javascript">
function DoAdd() {
Anthem_InvokePageMethod(
'Add',
[document.getElementById('a').value, document.getElementById('b').value],
function(result) { document.getElementById('c').value = result.value; }
);
}
</script>
第一个参数"add"是服务器端函数名称
Anthem_InvokePageMethod( 'Add', [document.getElementById('a').value, document.getElementById('b').value], function(result) { document.getElementById('c').value = result.value; } );
第二个参数时传给服务器端函数的参数
Anthem_InvokePageMethod( 'Add', [document.getElementById('a').value, document.getElementById('b').value], function(result) { document.getElementById('c').value = result.value; } );
第三个参数是服务器端函数执行后的回调方法.
Anthem_InvokePageMethod( 'Add', [document.getElementById('a').value, document.getElementById('b').value, function(result) { document.getElementById('c').value = result.value; } );
回调结果result是一个对象, 具有一个value属性和error属性. 如果服务器端函数调用出现错误, 则记录在error中, value是返回服务器端方法的执行结果.
Anthem_InvokePageMethod( 'Add', [document.getElementById('a').value, document.getElementById('b').value, function(result) { document.getElementById('c').value = result.value; } );
相关文章推荐
- 利用Anthem.net 实现前台javascript调用服务器端c#函数 及流程分析
- 利用Anthem.net 实现前台javascript调用服务器端c#函数 及流程分析
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- ASP.NET中服务器控件Button调用javascript代码运用正则表达式验证TextBox中输入的是否为正整数或正小数,符合要求则继续运行服务器端代码功能的实现
- [Java][Js]利用Rhino在服务器端执行JavaScript、并实现Java与JavaScript相互调用
- 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
- .net中前台javascript与后台c#函数相互调用问题
- 基于ArcGIS API For JavaScript调用GP服务实现动态插值分析实现
- ASP.NET中前台javascript与后台代码调用
- VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
- Asp.Net Ajax用JavaScript调用服务器端代码
- ASP.NET后台程序调用前台Javascript程序
- iOS JS 交互之利用系统JSContext实现 JS调用OC方法以及Objective-C调用JavaScript方法
- Direct Web Remoting:利用 JavaScript 调用服务器端类(翻译)
- Asp.net中使用javaScript实现前后台方法的相互调用