2

すべての検索にもかかわらず、いくつかの基本的なMVCの概念を理解していません。

Visual StudioでMVCプロジェクトを作成しました。このプロジェクトには、部分ビュー_LogOnPartial.shtmlが含まれています。ユーザーに関連するビュー内の情報にアクセスして、ユーザーのドロップダウンメニューを表示したいだけです。これを部分ビューcshtmlページの上部に配置しようとすると、上記のエラーが発生します。

@model MyProject_MVC.Models.UserRepository

これを試してみると、エラーも発生します。

@Html.Partial("_LogOnPartial", MyProject_MVC.Models.UserRepository)

'MyProject_MVC.Models.UserRepository'は'タイプ'であり、指定されたコンテキストでは無効です

4

2 に答える 2

2

MyProject_MVC.Models.UserRepository部分ビューにのインスタンスを提供する必要があります。_LogOnPartialそのタイプに強く型付けされています。コンパイル時にパブリックメンバーにアクセスし、ビューに表示する方法を決定できます。

そのビューで独自の型を使用する場合は、最初に、強く型付けされている型を変更する必要があります。

@model MyProject_MVC.Models.UserRepository

次に、アクションメソッドでそのタイプのインスタンスを作成し、それをモデルまたはモデルのプロパティとしてビューに渡す必要があります。

public ActionResult LogOn()
{
    return View(new UserRepository());
}

これで、ビュー内のモデルオブジェクトとしてこのインスタンスにアクセスできます。

@Html.Partial("_LogOnPartial", Model);
于 2012-06-19T13:47:47.640 に答える
2

@model _LogOnPartial.Models.UserRepositoryおそらく次のようになります。@model MyProject_MVC.Models.UserRepository

最後の部分では、タイプ自体ではなく、タイプ UserRepository のインスタンスを 2 番目のパラメーターとして指定する必要があります。

于 2012-06-19T13:46:29.780 に答える