0

基本的に、ViewState と呼ばれる ASP.NET にあったものについて話しているのです。これが例です。簡単にするために、モデルの従業員があります。

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、名前、および会社はテキストとして出力されますが、電話と住所は編集可能なフィールド (Html.EditorFor) であり、モデルに入力された値を保持できます。物体。

このフォームが HTTP でポストバックされた場合、たとえば、検証が失敗し、ユーザーの入力 (View(model)) を修正するためにフォームが再度表示されます。

ただし、EmployeeID、Name、および Company の値は、Phone や Address のように Html.EditorFor として定義されていないため失われ、送信されたモデルがビューに再度渡されるときに保持されません。

これらのプロパティ (編集不可) をモデルに保存 (永続化) するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

1

Html.HiddenFor を使用して、値をページに保存するだけです。mvc futures プロジェクトと Html.Serialize を使用することもできますが、必要のないときにビューステートを模倣しています。

于 2012-12-06T01:43:17.120 に答える