You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WebForms后端获取Telerik AJAX Spreadsheet的已编辑工作表

Telerik AJAX Spreadsheet后端获取编辑内容问题解决
  • 问题核心:直接访问RadSpreadsheet1.Sheets无法获取前端编辑后的内容,因为Telerik Spreadsheet的前端修改不会自动同步到服务器端控件属性,需手动触发数据回传并解析。

  • 解决步骤:

    1. 前端触发数据回传
      在提交操作前,调用Spreadsheet的exportJSON()方法获取编辑后的内容,存入隐藏字段传递到后端。示例JS代码:

      function onSaveClick() {
          var spreadsheet = $find("<%= RadSpreadsheet1.ClientID %>");
          var spreadsheetJson = spreadsheet.exportJSON();
          document.getElementById("<%= hfSpreadsheetData.ClientID %>").value = spreadsheetJson;
      }
      

      ASPX页面添加隐藏字段与提交按钮:

      <asp:HiddenField ID="hfSpreadsheetData" runat="server" />
      <asp:Button ID="btnSave" runat="server" Text="保存" OnClick="btnSave_Click" OnClientClick="onSaveClick();" />
      
    2. 后端解析JSON内容
      在后端按钮点击事件中,读取隐藏字段的JSON字符串,反序列化为工作表对象:

      protected void btnSave_Click(object sender, EventArgs e)
      {
          string spreadsheetJson = hfSpreadsheetData.Value;
          if (!string.IsNullOrEmpty(spreadsheetJson))
          {
              var spreadsheet = Newtonsoft.Json.JsonConvert.DeserializeObject<Telerik.Web.Spreadsheet.Spreadsheet>(spreadsheetJson);
              List<Telerik.Web.Spreadsheet.Worksheet> lista = spreadsheet.Sheets.ToList();
              // 此处可将lista数据写入数据库
          }
      }
      
    3. 关键注意事项

      • 确保项目已引入Newtonsoft.Json库(可通过NuGet安装)
      • 前端需通过$find结合控件ClientID正确获取Spreadsheet客户端实例
      • 若使用RadAjaxManager,需将隐藏字段与提交按钮纳入AJAX更新范围

内容的提问来源于stack exchange,提问作者Avasuilia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:28:15