2013-07-21 132 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

相關問題