我正在尝试将ICollection序列化为JSON,并通过HTML上的隐藏字段将其传递给我的JS。
到目前为止,我已经尝试过:
@Html.HiddenFor(model => JsonConvert.SerializeObject(model.Details),
new { Id = "WorkOrderDetails" })
// also tried model.Details.ToArray(). model.Details.ToList()
var jsonSerialiser = new JavaScriptSerializer();
@Html.HiddenFor(model => jsonSerialiser.Serialize(model.Details),
new { Id = "WorkOrderDetails" })
// also tried model.Details.ToArray(). model.Details.ToList()
它抱怨不兼容错误:InvalidOparationException
我正在以这种速度思考我需要迭代我的ICollection并单独传递每一个细节。
有更好的方法吗?
答案 0 :(得分:1)
HiddenFor
只是一种便捷方法,可帮助您在简单的情况下将m => m.Details
这样的简单表达式传递给它。由于这更复杂,编写自己的HTML标记可能更简单。
<input type="hidden" name="Details"
value="@jsonSerialiser.Serialize(model.Details)">