【发布时间】:2013-07-22 15:50:05
【问题描述】:
我有这样的复杂模型:
public class MyModel
{
public SubModel SubModel1 {get;set;}
public SubModel SubModel2 {get;set;}
public SubModel SubModel3 {get;set;}
}
public class SubModel
{
public int Field1 {get;set;}
public string Field2 {get;set;}
}
取决于视图上的某些情况我需要实现下一个逻辑:
@Html.EditorFor(m=>m.SubModel1);
@Html.HiddenFor(m=>m.SubModel2);
@Html.HiddenFor(m=>m.SubModel3);
我的问题是 Html.HiddenFor() 仅适用于单个值,不适用于模型。那么有没有办法将模型(或部分)序列化为隐藏字段?
【问题讨论】:
-
你能不能把每一个都放在它自己的 div 中,比如
<div class="sub1">@Html.EditorFor(m=>m.SubModel1)</div>,然后用 javascript 显示/隐藏你需要的那个? -
我会用 XML 序列化整个模型及其子模型,然后在将序列化字符串存储到隐藏字段之前对其进行加密。你做相反的事情来取回原来的模型。
标签: c# asp.net-mvc-3 serialization hidden-field