0
      `  // javascript 
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows([

          ['I', 1],
          ['D', 2],
          ['S', 3],
          ['Sh', 4],

        ]);`

我需要传递这些值而不是上面的数字:

<%: ViewBag.QuerySh %></div> <%: ViewBag.QueryI %></div> <%: ViewBag.QueryS %></div>
<%: ViewBag.QueryD %></div>

顺便说一下,视图页面中的值是整数

请问有什么想法???!!

提前致谢

4

1 回答 1

1

如果您的 javascript 是内联的,您可以执行以下操作:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
  ['I', <%: ViewBag.QueryI %>],
  ['D', <%: ViewBag.QueryD %>],
  ['S', <%: ViewBag.QueryS %>],
  ['Sh', <%: ViewBag.QuerySh %>],
]);

但是,我建议将 javascript 存储在单独的.js文件中,并将值应用于相关的 HTML 数据属性并从那里调用它们。

<div class="google_data_table" data-queryi="<%: ViewBag.QueryI %>" data-queryd="<%: ViewBag.QueryD %>" data-querys="<%: ViewBag.QueryS %>" data-querysh="<%: ViewBag.QuerySh %>">
  //Google data table here
</div>

然后使用原始 javascript 或 js 库(我在下面的示例中使用 jQuery),在 javascript 文件中获取这些值并适当地应用它们:

var $googledatatable = $(".google_data_table");
var queryI = $googledatatable.data("queryi");
var queryD = $googledatatable.data("queryd");
var queryS = $googledatatable.data("querys");
var querySh = $googledatatable.data("querysh");

var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
  ['I', queryI],
  ['D', queryD],
  ['S', queryS],
  ['Sh', querySh],
]);

这更简洁,并允许您为整个应用程序中可能拥有的其他数据表重用 javascript 逻辑。

于 2013-07-03T11:01:11.980 回答