在webform中使用ajax

如果你用过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);
}
});

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

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

posted @ 2020-02-15 14:11  CHN_CODER  阅读(811)  评论(2编辑  收藏  举报