0

1つのビューで2つのモデルを使用したい。現在のユーザー用に2つのコントローラーがあります

 public class ProfileModel
    {
        public int ID { get; set; }
        public decimal Balance { get; set; }
        public decimal RankNumber { get; set; }
        public decimal RankID { get; set; }
        public string PorfileImgUrl { get; set; }
        public string Username { get; set; }
    }

そして2番目はfirendsです

 public class FriendsModel 
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string ProfilePictureUrl { get; set; }
        public string RankName { get; set; }
        public decimal RankNumber { get; set; }
    }

プロファイルモデルには常に1つのアイテムが含まれ、フレンドモデルにはリストが含まれます

私は両方のモデルを含む新しいモデルを作成しました:

public class FullProfileModel 
    {
        public ProfileModel ProfileModel { get; set; }
        public FriendsModel FriendModel { get; set; }
    }

私はこのようにFullProfileモデルを埋めようとしました

List<FriendsModel> fmList = GetFriendsData(_UserID);

            FullProfileModel fullModel = new FullProfileModel();

            fullModel.ProfileModel = pm;
            fullModel.FriendModel = fmList.ToList();

しかし、ビジュアルスタジオは.ToList()でエラーを出します

エラー:

Cannot implicitly convert type 'System.Collections.Generic.List<NGGmvc.Models.FriendsModel>' to 'NGGmvc.Models.FriendsModel'

2つのモデルを1つのビューで表示する方法を教えてください。

ps im mvc3 razorviewengineを使用

ありがとう

4

3 に答える 3

1

ViewModelを修正します

public class FullProfileModel 
    {
        public ProfileModel ProfileModel { get; set; }
        public IList<FriendsModel> FriendModels { get; set; }
    }
于 2012-05-07T10:33:21.817 に答える
1

コレクションが必要だと思います

public class FullProfileModel 
{
    public ProfileModel ProfileModel { get; set; }
    public List<FriendsModel> FriendModels { get; set; }
}
于 2012-05-07T10:33:36.377 に答える
1

Listの値でFriendsModelタイプのプロパティを設定しようとしています。

 public FriendsModel FriendModel { get; set; }

への変更:

public class FullProfileModel 
    {
        public ProfileModel ProfileModel { get; set; }
        public IList<FriendsModel> FriendModel { get; set; }
    }
于 2012-05-07T10:35:13.017 に答える