javascript - 将数据从 ASP.NET 传递到 Javascript

标签 javascript jquery asp.net

我正在编写一个数据驱动的 Web 应用程序,使用 ASP.NET 作为服务器端技术来从 SQL Server 后端检索数据。虽然我使用服务器端代码来操作输出,但一切正常。不过,我编写了一些 jQuery 脚本(使用 Raphael.js)来根据数据绘制交互式图表。将数据集传递给 JavaScript 函数的最佳方式是什么?

目前,我让 ASP.NET 将数据输出为某种可预测的格式(如表格或类似格式):

<table>
    <tbody>
        <tr id='0'>
            <th>Risk:</th>
            <td class="val">10</td>
            <td>41.7%</td>
            <td class='col'>red</td>
        </tr>
        <tr id='1'>
            <th>Caution:</th>
            <td class="val">6</td>
            <td>25.0%</td>
            <td class='col'>orange</td>
        </tr>
    </tbody>
</table>

然后我在 $(function() {}) block 中进行解析以提取数据:

$(function() {
    var values = [],
        labels = [];

    $("tbody > tr", this).each(function () {
        values.push(parseInt($("td.val", this).text(), 10));
        labels.push($("td.col", this).text());
    });
});

然后我使用 raphael 将其绘制成图表。完成后,我在数据表上设置了 display: none

有更好的方法吗?当前的解决方案需要我注意 (a) 输出的数据格式, (b) js脚本和 (c) 设置各个方面样式的 css 确保它们全部“同步”。我想知道是否有某种方法可以使用 JSON 或其他方式传递数据集?

我当前解决方案的一个小缺点是创建图表所需的原始数据仍然在 HTML 中(尽管被隐藏),因此任何有头脑的人都可以查看。

最佳答案

将数据从 asp.net 传递到 javascript 的最简单方法是将数据写入 JSON 对象/数组。

在客户端拥有变量还允许您使用对 PageMethods 的 ajax 调用来更新它。

C# 中有各种库可以让您将对象写入 json。
我强烈推荐Json.net

它可以很简单

string json = JsonConvert.SerializeObject(table);

关于javascript - 将数据从 ASP.NET 传递到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18525780/

相关文章:

javascript - Kendo UI Dataviz 系列标记彼此重叠

javascript - 使用 javascript 中的 sort 方法对数组进行排序

c# - Entity Framework 中首先从数据库更新模型的元数据不起作用

asp.net - 使用 ServiceStack 检查请求 header

javascript - 当我将它们放在旋转木马外面时,按钮不起作用

javascript - 如何修复 React.js 中的 ' "X"is not defined no-undef' 错误

javascript - 将独立的 View 文件放入codeigniter中另一个html中的div中

jquery - 通过在CSS中悬停旋转

javascript - 使用复选框切换密码输入(由于安全风险而不起作用)

ASP.NET 自定义成员资格提供程序 - 将用户添加到角色