1

私は次のクラスを持っています:

public class Content
{
    public string PartitionKey { get; set; }
    public string RowKey { get; set; }
    [Required(ErrorMessage = "Title required")]
    [DisplayName("Title")]
    public string Title { get; set; }
    [DisplayName("Status")]
    public string Status { get; set; }
    public string Type { get; set; }
    public string ContentType
    {
        get { return PartitionKey.Substring(2, 2); }
    }
}

を追加しましたContentType。これは、読み取ることができる必要があるためです (設定されていません)。ただし、レコードを保存しようとすると、次のメッセージが表示されます。

The closed type System.String does not have a corresponding ContentType settable property.

ContentTypeプロパティの追加方法を間違えましたか? 私が疑問に思っているのは、viewModel を使用する必要があるかどうかです。しかし、どうすればそれができますか?クラスから各プロパティをコピーして、それぞれに get と set を追加するだけでよいですか? さらに、追加するだけContentTypeです。
私が理解していることから、クラスをビューモデルに追加するだけの方法がありますが、ビュー内のContentすべてを に変更する必要があると思います。私はむしろまだ私の見解にあることを望みます。Model.StatusModel.Content.StatusModel.Status

私のチェックと表示プロパティはどうですか。それらをviewModelで複製する必要がありますか、それとも単に通過するだけですか?

4

1 に答える 1

1

モデル バインダーには、モデル クラスでデータを正しく設定できるように、読み取り/書き込みプロパティが必要です。

リフレクションを使用して、モデルとして宣言した型の新しいインスタンスのプロパティに値を設定します。

于 2012-07-06T07:03:58.503 に答える