【发布时间】:2014-09-13 11:08:54
【问题描述】:
我可以尝试将一些代码从 C# 序列化为 JavaScript,以便在客户端使用它。但是,当我这样做时,它会获取[object Object],[object Object],[object Object],但是如果我传递一个普通字符串说"Hello",它工作正常,所以序列化似乎不是问题。
所以我的 C# 代码如下所示:
protected void Page_Load(object sender, EventArgs e)
{
List<YearMonthGrid> ymgs = new List<YearMonthGrid>();
ymgs = DAL.GetYearMonthGrid("value");
var m = from c in ymgs where c.Month == 7 select c;
v1 = new JavaScriptSerializer().Serialize(m);
}
我的 JS 代码如下所示:
var d1 = <%=this.v1%>;
document.write(d1);
YearMonthGrid 类具有我在列表中使用的三个属性:
- 名称(字符串)
- 数量(整数)
- 月(整数)
当我调试它时,我的值v1 包含我想要返回的字符串,但是当我尝试获取它时,它只是一遍又一遍地显示Object。任何想法为什么会这样?
【问题讨论】:
-
[object Object]是对象的默认字符串表示形式。因此,如果您将对象数组d1转换为字符串,则可以预期此输出。如果您只想检查值,请使用console.log。否则,请访问您要使用的对象的属性。
标签: c# javascript serialization javascriptserializer