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