1

*更正

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

传入字典的模型项的类型为“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

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

4

2 回答 2

2

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

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

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

如果要将列表传递给控制器​​,请使用 list users

编辑

让你的剃刀语法

   @model Mike.Models.User
于 2013-07-21T07:23:24.887 回答
2

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

@model List<Mike.Models.User>

你需要有:

@model Mike.Models.User

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

于 2013-07-21T07:35:57.960 回答