在JavaScript中获取c#列表
Get C# List in JavaScript
我在c#代码中创建了一个列表,并试图将其发送给JavaScript函数:
.aspx.cs代码:
List<SomeObject> data = whatever.getList();
ClientScript.RegisterStartupScript(GetType(), "hwa", "test('" + data + "');", true);
. js:
function test(data) {
我的JavaScript函数中的data变量是一个字符串,如:
"System.Collections.Generic.List`1[SomeObject]"
我如何将这个变量从我的aspx页面传递到我的。js文件并读取里面的内容?
如果你想传递,将其转换为json:
var jsonSerialiser = new JavaScriptSerializer();
ClientScript.RegisterStartupScript(GetType(), "hwa", "test('" + jsonSerialiser.Serialize(data)+ "');", true);
当你调用RegisterStartupScript方法时。net执行数据变量ToString()
方法并渲染javascript到页面。List<SomeObject>.ToString()
方法的结果返回"System.Collections.Generic.List
1[SomeObject]" ',所以你不能在javasciprt中使用变量
ClientScript.RegisterStartupScript(GetType(), "hwa", "test('" + data + "');", true);
你必须像这样将你的List序列化为json List,然后传递给RegisterStartupScript
Javascript不知道什么是list<T>
。您必须将其转换为JSON。因为javascript只有recognizes
JSON
我首先想到的是使用JSON模板
将列表转换为JSON数组,像这样(伪代码,是c#吗??)
var json = "[";
foreach(elem in data) {
json += "'" + elem.toString() + "', ";
}
json += "]";
相关文章:
- 使用JavaScript在IE9中获取数据列表选项
- 如何递归地获取嵌套对象中所有子对象的列表
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 如何在 Javascript/jQuery 中获取一些随机下拉列表的选定值
- 使用 jQuery 从下拉列表中获取所选文本
- 以编程方式获取无线接入点列表
- 如何在jquery中获取列表项的最顶端父项的文本
- 如何在JqWidgets网格中获取所有未选中行索引的列表
- 从javascript中的数组列表中获取值
- 如何从值的Angular下拉列表中获取ID
- 挖空剑道下拉列表获取所选项目的文本
- 如何从依赖下拉列表获取值到JavaScript并将其解析到另一个PHP页面
- 通过要按顺序获取的键列表获取嵌套键
- 从谷歌地图API列表获取最近的地方细节
- JQuery自动完成列表获取Json项目
- Jquery asp.net复选框列表获取项目值
- 基于选定的第一个下拉列表获取下拉列表的值
- jQuery可排序连接列表-获取列表id和数据值的排序值
- 样式下拉列表:获取兄弟元素的高度并求和
- 根据文本框中重新排列的无序列表获取值