Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 传入视图的类型错误-ASP.NET MVC 5_C#_Asp.net Mvc_Razor_Asp.net Mvc 5 - Fatal编程技术网

C# 传入视图的类型错误-ASP.NET MVC 5

C# 传入视图的类型错误-ASP.NET MVC 5,c#,asp.net-mvc,razor,asp.net-mvc-5,C#,Asp.net Mvc,Razor,Asp.net Mvc 5,我正在尝试创建一个可以与两个不同模型一起工作的视图。但我不断发现视图中传递的错误类型错误: 传递到字典中的模型项的类型为“System.Data.Entity.DynamicProxies.ApplicationUser_D1BDF9065CBD1B8BC24F5E69AC3CAB19A6C7FB8624B0C443512D881B7C9CA2”, 但此词典需要类型为的模型项 “StudentBookProject.ViewModel.UserPostWrapper” 我创建了一个简单的包装类来

我正在尝试创建一个可以与两个不同模型一起工作的视图。但我不断发现视图中传递的错误类型错误:

传递到字典中的模型项的类型为“System.Data.Entity.DynamicProxies.ApplicationUser_D1BDF9065CBD1B8BC24F5E69AC3CAB19A6C7FB8624B0C443512D881B7C9CA2”, 但此词典需要类型为的模型项 “StudentBookProject.ViewModel.UserPostWrapper”

我创建了一个简单的包装类来访问两个独立类的所有属性,如下所示:

public class UserPostWrapper
{
    public ApplicationUser UserInfoObject { get; set; }
    public List<Post> PostInfoObject { get; set; }
}
我不确定我是否理解正在发生的事情。如果我已经明确定义了在视图中使用的模型,那么谁在向视图传递错误的模型类型?
有人知道我错过了什么吗?这种方法可行吗?

将您的操作更改为:

[Authorize]
public ActionResult GetCurrentUser()
{
    var user = UserManager.FindById(User.Identity.GetUserId());
    var model = new UserPostWrapper { UserInfoObject = user};
    return View(model);
}

正如我在评论中所说的,您正在向视图中传递一个不同的模型。视图需要
UserPostWrapper
模型,但您正在传递
ApplicationUser
模型。

将您的操作更改为:

[Authorize]
public ActionResult GetCurrentUser()
{
    var user = UserManager.FindById(User.Identity.GetUserId());
    var model = new UserPostWrapper { UserInfoObject = user};
    return View(model);
}

正如我在评论中所说的,您正在向视图中传递一个不同的模型。视图需要
UserPostWrapper
模型,但您正在传递
ApplicationUser
模型。

发布呈现此视图的操作。你在Action中的视图中填充了不正确的模型
UserManager.FindById
返回什么类型?@VsevolodGoloviznin我刚刚添加的,它实际上是一个非常简单的方法,只返回要查看的当前用户信息…@dashy UserManager.FindById返回一个用户模型,通过传递的id找到…我也尝试将其分为两个视图。并使用部分视图进行发布,但我得到了相同的异常…发布呈现此视图的操作。你在Action中的视图中填充了不正确的模型
UserManager.FindById
返回什么类型?@VsevolodGoloviznin我刚刚添加的,它实际上是一个非常简单的方法,只返回要查看的当前用户信息…@dashy UserManager.FindById返回一个用户模型,通过传递的id找到…我也尝试将其分为两个视图。并使用部分视图发布,但我得到了同样的例外…这是有效的,谢谢。我完全忘了检查哪个方法已经在使用该视图…:-/这很有效,谢谢。我完全忘了检查哪个方法已经在使用该视图…:-/
[Authorize]
public ActionResult GetCurrentUser()
{
    var user = UserManager.FindById(User.Identity.GetUserId());
    var model = new UserPostWrapper { UserInfoObject = user};
    return View(model);
}