• 在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);
    }
    });

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

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

  • 相关阅读:
    php redis 延迟队列
    mysql 分库分表
    c++ 指针与引用
    c++ 格式化字符串
    c++ 在class A的构造函数中初始化另一个类的对象(调用B::B())时报错: error: no matching function for call to 'B:B()'
    c++ 正则匹配
    c++ 格式化时间
    c++ 读写文件
    StampedLock
    Mock单元测试入门
  • 原文地址:https://www.cnblogs.com/pzscit/p/12312009.html
Copyright © 2020-2023  润新知