隐藏的输入字段没有帮助?
<%= Html.Hidden(...) %>
更新(将对象序列化为 base64):
var formatter = new BinaryFormatter();
var stream = new MemoryStream();
formatter.Serialize(stream, myObject); // myObject should be serializable.
string result = Convert.ToBase64String(stream.ToArray());
当你想取回它时:
var formatter = new BinaryFormatter();
var stream = new MemoryStream(Convert.FromBase64String(hiddenFieldValue));
var myObject = (MyObjectType)formatter.Deserialize(stream);
确保在使用字段时验证存储在字段中的数据,因为客户端可能会更改它。ViewState
自动处理这个。
旁注: ASP.NET 使用LosFormatter
而不是BinaryFormatter
序列化ViewState
,因为它更有效或基于 ASCII 的序列化。您可能也想考虑这一点。