【问题标题】:The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[X]', but this dictionary requires a model item of type 'X'传入字典的模型项的类型为“System.Collections.Generic.List`1[X]”,但此字典需要“X”类型的模型项
【发布时间】:2013-07-21 02:10:12
【问题描述】:

*更正

当我的视图被调用以从我的用户表中填充列表时,就会出现问题。

传入字典的模型项的类型为“System.Collections.Generic.List`1[Mike.Models.User]”,但该字典需要一个“Mike.Models.User”类型的模型项'。

这是我的控制器操作:

    public ActionResult Registration(Mike.Models.User user)
    {
        if (ModelState.IsValid)
        {
            using (var db = new UserContext())
            {

                var crypto = new SimpleCrypto.PBKDF2();
                var encrypPass = crypto.Compute(user.password);
                var sysUser = db.Users.Create();

                sysUser.LastName = user.LastName;
                sysUser.FirstName = user.FirstName;
                sysUser.Email = user.Email;
                sysUser.password = encrypPass;
                sysUser.passwordSalt = crypto.Salt;
                sysUser.UserID = user.UserID;
                db.Users.Add(sysUser);
                db.SaveChanges();

                return RedirectToAction("Index", "Home");
            }


        }

        return View(user);
    }

谁能帮帮我....网上有类似问题的回答,但我相信我的问题是独一无二的..我已经搜索了数周无济于事。

提前致谢,

雷诺

这是我的简单控制器操作...

   public ActionResult Index()
    {

        return View(db.Users.ToList());

    }

还有我的剃刀语法。

@model IEnumerable

我正在尝试填充我的用户表列表的视图..

【问题讨论】:

  • 你能发表你的看法吗?

标签: asp.net-mvc-4


【解决方案1】:

在您的模型声明顶部的注册视图中,而不是这个:

@model List<Mike.Models.User>

你需要:

@model Mike.Models.User

您可能使用强类型脚手架功能来生成视图,但您选择了列表选项而不是详细信息选项...

【讨论】:

  • 谢谢先生您的评论。我尝试了您的建议也无济于事。谢谢你...
【解决方案2】:

从表面上看 - 你的并不是独一无二的。您的问题是您将一组用户传递给需要用户的控制器操作。

您需要发布您的 HTML,但它可能类似于 @model 列表用户之类的东西,而不是单个用户。

如果您的模型代表单个用户,则将其传递给控制器​​。如果相反,做相反,

如果您想将列表传递给控制器​​,请使用列表用户

编辑

让你的剃刀语法

   @model Mike.Models.User

【讨论】:

  • 哇.. 真快.. 感谢您的宝贵时间... 我尝试了您的建议,但错误仍然存​​在.. 这是我的控制器操作和 HTML
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 2012-03-12
  • 2023-03-30
  • 2013-10-18
  • 1970-01-01
  • 2013-10-17
相关资源
最近更新 更多