0

是否可以使用 aspx 页面后面的 c# 代码将数据加载到网格或从网格中保存数据,还是必须使用 Web 服务(或 PHP)?我尝试过使用 JSON.Net 映射一个非常简单的结构来编码后端结构,但失败了

是否可以使用 JQuery(GET我认为是 ajax)来调用后端代码文件(.aspx.cs)中的方法?我试过使用这个论坛上各种帖子的代码,但后端代码(c#)的信息很少,而且似乎都指的是网络服务。任何帮助/建议将不胜感激。

以下是相关的 JavaScript 代码:

var handsontable = $container.data('handsontable');
$(document).find('button[name=load]').click(function () {
    $.ajax({
        url: "Default.aspx/getJSData",
        dataType: 'json',
        type: 'GET',
        //contentType: "application/json; charset=utf-8",
        success: function (res) {
            handsontable.loadData(res.data);
            $console.text('Data loaded');
        },
        error: function () {
            $console.text('Load error');
        }
    });

});
4

1 回答 1

0

您仍然需要执行 Ajax 调用,但不需要执行 Web 服务(可以)。您希望向 Ajax 调用公开的函数将[WebMethod]属性打开并使用脚本管理器,并将 EnablePageMethods 属性设置为 true。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>

访问方法:

[WebMethod]
public static void SomeFunction(string message, string name)
{

}

使用 jQuery 的 Ajax 调用

(function($) {
        $.ajax({
            type: "POST",
            url: "test.aspx/SomeFunction",
            data: "{message:'Hello World', name: 'Bob'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert('success');
            }
        });
    });

参考:使用 WebMethod 属性

于 2013-03-28T12:48:19.100 回答