在webform中使用ajax

2022-10-09,

如果你用过asp.net webform, 说明你也算是.net 开发的老兵了。webform应该是2011-2013左右,当时还用visual studio 2005、 visual studio 2008。后来基本都用的是mvc。
如果是新开发的项目,估计没人会用webform技术。但是有些旧版本的项目,还需要维护,所以,我又不得不重新用上webform技术。

webform的程序中,大部分都是服务器控件。现在用起来,十分不习惯,新增几个curd的模块,都要浪费好多时间。所以,不得不寻求更高效的办法。

决定用户前端ajax调用后台方法进行curd的方法。但是此前,我只知道mvc的请求路由,对于webform从来没用过。所以我翻看了一下百度,和官方文档:
asp.net ajax 提供了另一种机制以 web 服务类似于调用而无需创建独立.asmx 文件。 这是通过使用一种技术称为"页面方法"。 页面方法是直接在页面或代码旁置文件中嵌入具有 webmethod 特性应用于它们的静态 (共享在 vb.net) 方法。 通过将 webmethod 特性应用它们可以调用使用名为 pagemethods 获取在运行时动态创建的特殊 javascript 对象。

后端代码:

[webmethod]
public static customer[] getcustomersbycountry(string country)
{
return biz.bal.getcustomersbycountry(country);
}

前端代码:

$.ajax({
url: 'list.aspx/getcustomersbycountry',
type: 'post',
contenttype: "application/json; charset=utf-8",
data: "{ id: '" + id + "'}",
datatype: 'json',
success: function (data) {
console.log(data.d);
},
error: function (error) {
console.log(error);
}
});

前端注意的是,传递参数,和获取返回参数。

技术之路,没有捷径,欢迎关注工程师社群,每天共同进步!

《在webform中使用ajax.doc》

下载本文的Word格式文档,以方便收藏与打印。