AjaxPage类使用说明
AjaxPage类位于HHHMis.Web.AjaxPage,是一个对Page类重新封装的类,其作用是在暴露页面的内部函数,提供HTTP接口调用。在模块内容开发的过程中,数据加载建议尽量采用Jquery的Ajax加载,并注意接口的通用性,便于让移动客户端调用,不需要再另外开发专门的接口。
使用方法
第一步:页面继承HHHMis.Web.AjaxPage
Public Class WebForm1
Inherits HHHMis.Web.AjaxPage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class
第二步:声明传入和返回的对象可序列化
''' <summary>
''' 用于数据传递的对象
''' </summary>
''' <remarks></remarks>
<Serializable> Public Class TestData
Public id As String
Public parent As String
Public text As String
End Class
第三步: 编写功能函数
''' <summary>
''' 获取数据
''' </summary>
''' <param name="ID"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function GetData(ID As String) As TestData
'数据处理过程
Dim D As New TestData
D.id = 9
D.parent = 0
D.text = "测试数据"
Return D
End Function
''' <summary>
''' 客户端提交数据
''' </summary>
''' <param name="D"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function PostData(D As TestData) As TestData
'数据处理过程
D.text = "处理过后的数据"
Return D
End Function
第四步: 前台调用后台函数
AjaxPage类的功能本质是暴露后台函数提供HTML接口访问,只要能访问HTML接口的客户端都可以使用,一般Web页面的调用方法是使用JQuery.Ajax。
前台调用后台函数获取数据(异步)
javascript
//前台调用后台函数(异步)
function GetData(iID) {
$.getJSON("/WebForm1.aspx", { "method": "GetData","ID":iID, "random": Math.random() }, function (json) {
//获取数据后的处理过程
});
}
前台调用后台函数获取数据(中断)
javascript
//前台调用后台函数(中断)
function GetData2(iID) {
var D = $.ajax({
url: "/WebForm1.aspx",
data: { "method": "GetData", "ID": iID, "random": Math.random() },
async: false,
dataType: "json"
}).responseText;
D = JSON.parse(D);
//获取数据后的处理过程
}
前台Post数据到后台
javascript
//前台向后台Post数据
function PostData() {
$.getJSON("/WebForm1.aspx", { "method": "PostData", "D": GetDataString(), "random": Math.random() }, function (json) {
//发送数据后的处理过程
});
}
//获取数据回传后台
function GetDataString() {
return JSON.stringify({
'id':9 ,
'parent': 0,
'text':'post向服务器的数据'
});
}