有没有办法使用(或类似的东西)
@Html.HiddenFor
为您的整个模型。
所以不要做这样的事情:
@Html.HiddenFor(model => Model.Person.Name)
@Html.HiddenFor(model => Model.Person.LastName)
@Html.HiddenFor(model => Model.Address.Street)
使用类似的东西(这个例子不起作用)
@Html.HiddenFor(model => Model)
我已经在stackoverflow和google上搜索了它...但是还没有找到任何关于它的信息。
我需要为未保存到db的不同模型保留一些值,因此只使用Html.Hidden这个ID对我来说不是一个选项。
提前致谢!
答案 0 :(得分:7)
选择要隐藏在输入中的属性,并在模型中添加HiddenInputAttribute
,如下所示:
public class MyModel
{
[HiddenInput]
public int MyProperty { get; set; }
}
答案 1 :(得分:3)
您可以查看MVCContrib's Html.Serialize method。它是视图状态仿真(在内部确实使用ViewState: - ))。
另一种方法是简单地将唯一ID存储为隐藏字段,并在控制器操作内部使用此id从底层数据存储中获取相应的模型。