0

基本上我说的是我们在 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; }
}

我的公司使用员工 ID、姓名和公司为员工创建记录。员工只需输入(更新)他的电话号码和地址。当我在编辑/或创建模式下为员工输入此信息时,EmployeeID、Name 和 Company 以文本形式输出,而 Phone 和 Address 是可编辑字段 (Html.EditorFor),允许保留在模型中输入的值目的。

当这个表单被 HTTP 回传时,假设验证失败,并且表单再次呈现给用户以更正他的输入(视图(模型))。

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

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

谢谢你。

4

1 回答 1

1

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

于 2012-12-06T01:43:17.120 回答