如何序列化 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
我现在可以往哪个方向走?
谢谢。
这是您需要的序列化选项:
选项为 Signed
或 EncryptedAndSigned
。
您可以尝试一下,看看是否可行。
有多种适合您的数据编码方法。您可以在视图中使用 Json.Encode
,在服务器端使用 Json.Decode
,将值放入隐藏输入中。
我已尝试按照 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
我现在可以往哪个方向走?
谢谢。
这是您需要的序列化选项:
选项为 Signed
或 EncryptedAndSigned
。
您可以尝试一下,看看是否可行。
有多种适合您的数据编码方法。您可以在视图中使用 Json.Encode
,在服务器端使用 Json.Decode
,将值放入隐藏输入中。