尽管我都在搜索,但我对一些基本的MVC概念缺乏了解。
我在Visual Studio中创建了一个MVC项目,其中包含部分视图_LogOnPartial.shtml。我只想访问与用户相关的视图中的信息,以放入用户下拉菜单。当我试图把它放在局部视图cshtml页面的顶部时,我得到了上面的错误:
@model MyProject_MVC.Models.UserRepository
当我尝试这个时,我也会收到错误:
@Html.Partial("_LogOnPartial", MyProject_MVC.Models.UserRepository)
'MyProject_MVC.Models.UserRepository'是'type',在给定的上下文中无效
答案 0 :(得分:2)
@model _LogOnPartial.Models.UserRepository
应该是:@model MyProject_MVC.Models.UserRepository
并且对于最后一部分,您必须提供UserRepository类型的实例作为第二个参数,而不是类型本身。
答案 1 :(得分:2)
您必须向局部视图提供MyProject_MVC.Models.UserRepository
的实例。 _LogOnPartial
强类型为该类型。它允许您在编译时访问其公共成员,并决定如何在视图中显示它。
如果要在该视图中使用自己的类型,首先必须更改强类型的类型。
@model MyProject_MVC.Models.UserRepository
然后,您必须在action方法中创建该类型的实例,并将其作为模型或模型的属性传递给视图。
public ActionResult LogOn()
{
return View(new UserRepository());
}
现在,您可以在视图中以模型对象的形式访问此实例。
@Html.Partial("_LogOnPartial", Model);