在页面加载时,我有可用的 DataTable 结果,我需要将其传回 javascript 进行处理。
我有哪些选择?
- 使用隐藏字段将数据传回。不确定如何准确,可能会将其转换为 xml/json,然后以这种方式从 javascript 访问它。好像很痛。这种方法没有额外的往返行程。
- 使用 webmethod/webservice 直接从 javascipt 发出调用,然后取回 DataTable,但是这需要额外的往返,因为我已经在页面加载时提供了 DataTable。
- 也可以使用可从 .aspx 页面使用的ASP.NET 内联表达式(即 <% 语法)访问代码中的对象。这种方法没有额外的往返行程。
- 将 DataTable 转换为 json/xml,然后使用 ASP 的 ClientScript.RegisterStartupScript 使其在其中作为从函数或其他东西返回的字符串可用。听起来很hacky。
- 将 DataTable/DataSet(或任何实现 IEnumerable 接口的对象)绑定到 ASP 数据控件,例如 DataGrid、DataList、Repeater 等……然后通过一些 CSS 隐藏控件:
#datacontrol {display: none;}
我怎样才能做到这一点?