如何序列化 MVC 5 Razor 视图中的对象

How to serialize an object in MVC 5 Razor view

我已尝试按照 this post 创建一个将数据传递到每个页面的 3 页表单向导。

他使用 HTML 帮助器 serialize 来序列化视图中的对象。

@Html.Serialize("wizard", Model)

然而,这个 HTML 助手似乎在 MVC 5 中不可用。

我发现另一个 post 与此 here 相关,他建议使用以下内容序列化对象。

@Html.Hidden("otherComplexData", new Microsoft.Web.Mvc.MvcSerializer().Serialize(complexObject))

但是我收到以下错误

There is no argument given that corresponds to the required formal parameter 'mode' of 'MvcSerializer.Serialize(object, SerializationMode)'

它似乎需要一个 SerializationMode,但是文档中没有。 https://msdn.microsoft.com/en-us/library/microsoft.web.mvc.mvcserializer.serialize(v=vs.118).aspx

我现在可以往哪个方向走?

谢谢。

这是您需要的序列化选项:

https://github.com/ASP-NET-MVC/ASP.NET-Mvc-3/blob/master/mvc3/src/MvcFutures/Mvc/SerializationMode.cs

选项为 SignedEncryptedAndSigned

您可以尝试一下,看看是否可行。

有多种适合您的数据编码方法。您可以在视图中使用 Json.Encode,在服务器端使用 Json.Decode,将值放入隐藏输入中。