AJAX.NET用户开发指南(2)

无所谓了91

无所谓了91

2016-02-19 18:26

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享AJAX.NET用户开发指南(2)的教程,热爱PS的朋友们快点看过来吧!

//C#

public class Index : System.Web.UI.Page{
 private void Page_Load(object sender, EventArgs e){
  Ajax.Utility.RegisterTypeForAjax(typeof(Index));
  //...
 }
 //...
}

  对RegisterTypeForAjax方法的调用在页面产生如下的javascript代码(另外一种选择,你也可以人工在页面上添加如下的javascript代码)

<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript"
src="ajax/NAMESPACE.PAGECLASS,ASSEMBLYNAME.ashx"></script>

  上面这段代码的粗体部分NAMESPACE.PAGECLASS,ASSEMBLYNAME含义如下:

NAMESPACE.PAGECLASS
 
当前页面的命名空间和类

ASSEMBLYNAME
 
当前页面的程序集的名称
 

  下面是在AjaxPlay项目中sample.aspx的示例输出:

<%@ Page Inherits="AjaxPlay.Sample" Codebehind="sample.aspx.cs" ... %>
<html>
<head>
<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript"
src="ajax/AjaxPlay.Sample,AjaxPlay.ashx"></script>

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

</head>
<body>
<form id="Form1" method="post" runat="server">
...
</form>
</body>
</html>

  你可以测试一下,人工通过浏览器将src path(通过查看源文件并copy)打开,一切都能正常的工作。如果输出了无意义的文本表示到目前为止是正确的,如果输出asp.net错误,则表示中间出现了错误。

  即使你不了解HttpHandle的工作方式,也应该可以理解上面的描述。通过web.config,我们可以确保发送向ajax/*.ashx的请求由我们自定义的句柄来处理,很显然,两个脚本标记由自定义句柄处理。

  编写服务端函数

  现在我们编写服务器端函数,他们可以被客户端异步的调用。尽管现在还不能支持全部的返回类型,我们仍坚持服务器端添加功能。在codebehind文件的页面类里,添加下面的方法:

'VB.Net

<Ajax.AjaxMethod()> _

Public Function ServerSideAdd (byval firstNumber As Integer, byval secondNumber
As Integer) As Integer
Return firstNumber + secondNumber
End Function

//C#

[Ajax.AjaxMethod()]

public int ServerSideAdd(int firstNumber, int secondNumber)
{
 return firstNumber + secondNumber;
}

  注意,这个函数有Ajax.AjaxMethod()定制属性,属性服务会告知ajax封装类为此方法创建一个javascript代理,这样才能被客户端调用。

  定制客户端调用

  接下来在客户端用javascript调用函数。Ajax封装类会创建一个javascript函数,带有两个参数,名字是 类名.ServerSideAdd。作为最基本的功能,我们所需要作的只是调用这个方法并且传递参数:

<%@ Page Inherits="AjaxPlay.Sample" Codebehind="sample.aspx.cs" ... %>
<html>
<head>
<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript"
src="ajax/AjaxPlay.Sample,AjaxPlay.ashx"></script>

</head>

<body>
<form id="Form1" method="post" runat="server">
<script language="javascript">
var response = Sample.ServerSideAdd(100,99);
alert(response.value);
</script>
</form>
</body>
</html>

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  当然,我们不能把这么强大的功能仅仅用来通过alert来提醒浏览者,这就是为什么所有的客户端代理(如 类名.ServerSideAdd函数)同时带有一个额外的定制属性。这个属性是用来处理服务器响应的回调函数:

展开更多 50%)
分享

猜你喜欢

AJAX.NET用户开发指南(2)

Web开发
AJAX.NET用户开发指南(2)

AJAX.NET用户开发指南(5)

Web开发
AJAX.NET用户开发指南(5)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

AJAX.NET用户开发指南(3)

Web开发
AJAX.NET用户开发指南(3)

AJAX.NET用户开发指南(4)

Web开发
AJAX.NET用户开发指南(4)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

AJAX.NET用户开发指南(1)

Web开发
AJAX.NET用户开发指南(1)

Ajax.Net快速入门

Web开发
Ajax.Net快速入门

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ajax 在updatepanel中使用alert提示方法

ajax 在updatepanel中使用alert提示方法

在Word2010中设置信封选项

在Word2010中设置信封选项
下拉加载更多内容 ↓