2013-07-21 136 views
1

*校正的模型项传递到词典中的模型项的类型为“System.Collections.Generic.List`1 [X]”,但此字典需要类型“X”

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

传入字典的模型项目类型为'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); 
    } 

是否有人可以帮助我....有在互联网上类似的问题的答案,但我相信我的是独一无二的。我已经寻找星期徒劳无功。

由于提前,

Renior

这里是我的简单的控制器的动作......

public ActionResult Index() 
    { 

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

    } 

和我的剃刀语法。

@model IEnumerable的

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

+0

您可以发表您的看法? – Thousand

回答

2

在您注册鉴于在您的模型声明的顶部,而不是此:

@model List<Mike.Models.User> 

你需要有:

@model Mike.Models.User 

您可能使用强类型的脚手架功能生成你的观点,但不是细节选项,您选择了一个列表选项...

+0

谢谢先生您的评论..我也尝试了你的建议无济于事。我谢谢你... – digiShadoe

2

借此以票面价值 - 你是不是唯一的。你的问题是你正在传递一个用户数组到控制器操作,期望用户。

你需要发布你的HTML,但它可能类似于@model列出用户或某物而不是单个用户。

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

如果你想一个列表传递给控制器​​使用列表中的用户

编辑

让你的剃刀语法

@model Mike.Models.User 
+0

哇..这很快..我谢谢你的时间...我尝试了你的建议,错误仍然存​​在..这里是我的控制器操作和HTML – digiShadoe

相关问题