0

ViewModelを使用してビューの詳細を表示する方法を理解しようとしています。

ビューモデルを設定しましたが、ビューで使用できないようです。

私のコントローラーには、ViewModelにすべての詳細を表示するために使用したいDetailsメソッドがあります。

これまでのところ、ユーザー名を文字列として渡してから、ViewModelの新しいインスタンスを作成しています。次に、ViewModelにデータを入力しようとしていますが、これをどのように行う必要があるかわかりません。入ってくるIDに基づいてユーザー名を割り当てています-

public ViewResult Details(string id)
        {

            var viewModel = new RegisterViewModel();
            viewModel.UserName = id;
            return View(viewModel);
        }

次に、viewModelをビューに送り返しますが、他の関連データをviewModelに取り込むにはどうすればよいですか?

4

1 に答える 1

0

あなたがする必要があるのは、データベースにクエリを実行し、関連情報をビューモデルにプルしてから、ビューに戻すことです。

public ViewResult Details(string id)
{
    var entity = // pull record from DB by id
    return View(new RegisterViewModel()
    {
        UserName = id,
        AnotherProperty = entity.AnotherProperty
        ...
    });
}

AutoMapperの使用を検討したい多くの場所で、ビュー モデルをモデルにマッピングすると、コードが簡素化されます。

于 2012-10-09T14:26:36.297 に答える