1

この回答の 3 番目のコード ブロックのような例を見てきましたが、ViewModel のメンバーは 経由でアクセスされていますが、どのビューでもmodel.Member小文字を使用できたことはありません。model

MVC Razor ビューで@modelディレクティブとプロパティを使用する方法を理解しています。Model私が理解していないmodel.ChartItemsのは、質問の最初の行にリンクされている例とほぼ同じコードがある場合に、ビュー内からどのようにアクセスできるかです。

誰かがMVC Razor ビューのmodel.Memberとの違いを明確にできるとありがたいです。Model.Memberこの質問の上部にあるリンクに示されているように、アクセス方法を理解する必要があるmodel.Memberようですが、問題に関する詳細が見つからないようです。

アクセスしようとしているビューのコードは次のmodelとおりです。

@model Models.StudentHistoryModel

<h2>Student History</h2>

@Html.RenderPartial("_Course", model.CourseCompletion);
@Html.RenderPartial("_Track", model.TrackCompletion);
@Html.RenderPartial("_Certification", model.CertificationCompletion);

データをビューに渡すコントローラー アクションは次のとおりです。

public ActionResult History(int id)
{
    var history = new StudentHistoryModel();

    history.CourseCompletion = db.CourseCompletions
        .Where(c => c.StudentID == id)
        .ToList();

    history.TrackCompletion = db.TrackCompletions
        .Where(c => c.StudentID == id)
        .ToList();

    history.CertificationCompletion = db.CertificationCompletions
        .Where(c => c.StudentID == id)
        .ToList();

    return PartialView("_History", history);
}

historyいいえ、質問する前に、ビューから変数にアクセスすることはできません。

4

2 に答える 2

2

イライラするトラブルシューティングを行った後、少しすぐに使える方法を試してみることにしました... Visual Studio を再起動しました。その後、次のようにメンバーにアクセスできました。

@Html.RenderPartial("_Course", Model.CourseCompletion);

しかし、これにより新たな問題が発生しました。行全体でこのエラーを受け取りました:

Cannot implicitly convert type 'void' to 'object'

ステートメントが値を返そうとしていることに気付いたので、次のように中括弧で囲みました。

@{Html.RenderPartial("_Course", Model.CourseCompletion);}

出来上がり。問題が解決し、データにアクセスでき、モデルが機能しています。私はびっくりしています。

于 2013-06-10T19:01:13.880 に答える