将ICollection序列化为JSON

时间:2014-08-25 22:51:23

标签: c# javascript json icollection

我正在尝试将ICollection序列化为JSON,并通过HTML上的隐藏字段将其传递给我的JS。

到目前为止,我已经尝试过:

  1. @Html.HiddenFor(model => JsonConvert.SerializeObject(model.Details), new { Id = "WorkOrderDetails" }) // also tried model.Details.ToArray(). model.Details.ToList()

  2. var jsonSerialiser = new JavaScriptSerializer(); @Html.HiddenFor(model => jsonSerialiser.Serialize(model.Details), new { Id = "WorkOrderDetails" }) // also tried model.Details.ToArray(). model.Details.ToList()

  3. 它抱怨不兼容错误:InvalidOparationException

    我正在以这种速度思考我需要迭代我的ICollection并单独传递每一个细节。

    有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

HiddenFor只是一种便捷方法,可帮助您在简单的情况下将m => m.Details这样的简单表达式传递给它。由于这更复杂,编写自己的HTML标记可能更简单。

<input type="hidden" name="Details" 
    value="@jsonSerialiser.Serialize(model.Details)">