Handsontable Grid - 从 aspx 网页加载和保存数据

Posted

技术标签:

【中文标题】Handsontable Grid - 从 aspx 网页加载和保存数据【英文标题】:Handsontable Grid - loading and saving data from aspx web page 【发布时间】:2013-03-18 21:07:59 【问题描述】:

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

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

这里是相关的 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');
        
    );

);

【问题讨论】:

【参考方案1】:

您仍然需要执行 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');
            
        );
    );

参考:Using the WebMethod Attribute

【讨论】:

非常感谢您的帮助 - 这让我有很多工作要做。目前VS无法识别[Webmethod]属性,所以我正在做一些研究...... 谢谢@Stephen,这看起来不错,但我无法让它工作。我需要将 using System.Web.Services; 添加到代码隐藏文件中,以便 VS 识别 [Webmethod] 属性。您为 SomeFunction() 方法显示的参数对我来说看起来不正确 - 我原以为我们传递了一个需要反序列化的序列化字符串。问题是,我无法触发代码隐藏功能 - 我几乎尝试了所有方法。我没有收到任何错误,什么都没有。 ASP.Net 负责反序列化。它要做的是将查询字符串参数与函数方法调用相匹配,因此您需要确保它们匹配。或者我相信您可以将参数列表留空并查看请求对象以获取值(尚未测试最后一点)。 太好了,再次感谢@Stephen,现在正在向服务器发布数据。现在我一直在努力(几个小时)从服务器加载数据以工作 - 请你协助服务器端方法的结构 - 我的 javascript 代码将如下所示:

以上是关于Handsontable Grid - 从 aspx 网页加载和保存数据的主要内容,如果未能解决你的问题,请参考以下文章

Handsontable propToCol 返回属性而不是列号

VUE中,比较好用的几个Table组件

Handsontable 相对于下一列的下一个单元格更改单元格颜色

Handsontable - 数字单元格上的文本对齐

在asp.net MVC中上传Excel文件并在Grid中显示

Handsontable - 输入验证,限制为包括小数点在内的数字