0

1つのモデルに2つのビューを組み合わせようとしています。しかし、私はそれをうまく機能させることはできません!

手伝って頂けますか?

モデル:

 public class Player
{
    public int playerID { get; set; }

    [Required]
    [Display(Name = "Spelernaam:")]
    public String playerName { get; set; }

    [Display(Name = "Team:")]
    public int teamID { get; set; }

    public virtual Team Team { get; set; }

    [Required]
    [Display(Name = "Waarde:")]
    public int playerValue { get; set; }
}

public class Team
{
    public int teamID { get; set; }

    [Required]
    [Display(Name = "Teamnaam:")]
    public String teamName { get; set; }

    [Required]
    [Display(Name = "Teamwaarde:")]
    [Range(0, 100, ErrorMessage = "Waarde moet tussen de 0 en de 100 liggen")]
    public int teamValue { get; set; }

    [Required]
    [Display(Name = "Teambudget:")]
    [Range(0, 100000000, ErrorMessage = "Waarde moet tussen de 0 en de 100000000 liggen")]
    public int teamBudget { get; set; }

    [DefaultValue(0)]
    public int gamePoints { get; set; }

    public virtual ICollection<Player> Player { get; set; }
}

チーム(足場)の詳細ページで選手のリストを取得しようとしています。

私はすでにビューモデルを作成しようとしましたが、次のようになります。

public class PlayersPerTeam
{
        public Team Team { get; set; }
        public Player Player { get; set; }
}

しかし、私はコントローラーが問題だと思います

コントローラ:

//
    // GET: /Team/Details/5

    public ActionResult Details(int id = 0)
    {
        Team team = db.Teams.Find(id);
        if (team == null)
        {
            return HttpNotFound();
        }
        return View(team);
    }

私はあなたがこれで私を助けることができることを願っています!どうもありがとう!

エラーメッセージ:

The model item passed into the dictionary is of type 'System.Data.Entity.DynamicProxies.Team_B041141ED3453289BD09E3CAC14C091B831E03C09FDA76FF2D783BDDCE179358', but this dictionary requires a model item of type 'HerkansingsOpdracht.Models.PlayersPerTeam'.
4

1 に答える 1

1

ここでの問題は、コントローラーから間違ったモデルを通過させているか、ビューが間違ったタイプのモデルを予期していることです。

そのコントローラーの場合は、次のようにコードを変更する必要があると思います。

public ActionResult Details(int id = 0)
{
    PlayersPerTeam team = new PlayersPerTeam{Team = db.Teams.Find(id)};
    if (team == null)
    {
        return HttpNotFound();
    }
    return View(team);
}

うまくいけば、これがお役に立てば幸いです。

于 2013-01-04T14:15:29.190 に答える