在MVC3中创建/编辑模型时,如何在将其保存到数据库之前保持模型



基本上,我说的是ASP.NET中的ViewState。下面是一个例子,为了简单起见,我有一个模型Employee:

public class Employee
{
public string EmployeeId { get; set; }
public string Name { get; set; }
public string Company { get; set; }
public string Phone { get; set; }
public string Address { get; set; }
}

我的公司为员工创建了带有EmployeeId、Name和company的记录。员工只需要输入(更新)他的电话号码和地址。当我在编辑/或创建模式下为员工提供表格以输入此信息时,EmployeeID、Name和Company仅作为文本输出,而Phone和Address是可编辑字段(Html.EditorFor),允许保留在Model对象中输入的值。

当这个表单被HTTP发送回来时,比如说,验证失败,表单会再次呈现给用户以更正他的输入(视图(模型))。

但是,EmployeeID、Name和Company的值会丢失,因为它们没有像Phone和Address一样定义为Html.EditorFor,因此在将提交的模型再次传递到视图中时不会保留。

如何在模型中保留(持久化)这些属性(不可编辑)?

谢谢。

只需使用Html.HidForf并将值存储在页面上。您也可以使用mvc futures项目和Html.Serialize,但在不需要的时候,您会模仿视图状态。

最新更新