2017-10-20 11 views
-1

こんにちは、私はユーザーと呼ばれるデータモデルを持っています。コントローラでは、私は、LINQメソッドを持つすべてのユーザーを取得し、私は、ビューに表示します。それはかなり簡単ですが、私は.l'erreurを解決することはできません問題があると、System.InvalidOperationExceptionています辞書に渡されたモデルアイテムは型である「System.Data.Linq.Table 1[WebApplication1.Utilisateur] », mais ce dictionnaire requiert un élément de modèle de type « System.Collections.Generic.IEnumerable 1 [WebApplication1.Models.Utilisateur]。 " 私はIEnumerableをlstUtil = ctx.Utilisateurと試みました。それは何も変わっていません。私は)(ctx.Utilisateur.Tolisteを試してみました。あなたがIEnumerableを除いているため MVC LINQビューコントローラエラー

+2

英語で私は –

+0

データモデルのQUIのs'intituleユーザーを持っていてください。私は、データベース内のテーブル内のすべての件のデータをチェックして、私の見解では」日を示し、私がチェックし、どのような観点で期待されていることにより、送信されるデータの種類についてのエラーを持って目指しにおける収集しよう。 – Mania

+0

スタックオーバーフローが英語であることを喜ん必要があります。https://meta.stackoverflow.com/questions/297673/how-do-i-deal-with-non-english-content –

答えて

0

public class Utilisateur 
 
    { 
 
     [Required] 
 
     [DisplayName("Login")] 
 
     public string Name { get; set; } 
 
     [Required] 
 
     [DisplayName("Mot de passe")] 
 
     [DataType(DataType.Password)] 
 
     public string Pass { get; set; } 
 
    } 
 
    
 
    public class TestController : Controller 
 
    { 
 
       public ActionResult Index() 
 
     { 
 
         using (var ctx = new BddDataClassesDataContext()) 
 
      { 
 
       var lstUtil = ctx.Utilisateur; 
 
           return View(lstUtil); 
 
      }     
 
     } 
 
    } 
 
    
 
    index.cshtml: 
 
    
 
    @model IEnumerable<WebApplication1.Models.Utilisateur> 
 

 
@{ 
 
    ViewBag.Title = "Index"; 
 
} 
 

 
<h2>Index</h2> 
 

 
<p> 
 
    @Html.ActionLink("Create New", "Create") 
 
</p> 
 
<table class="table"> 
 
    <tr> 
 
     <th> 
 
      @Html.DisplayNameFor(model => model.Name) 
 
     </th> 
 
     <th> 
 
      @Html.DisplayNameFor(model => model.Pass) 
 
     </th> 
 
     
 
     <th></th> 
 
    </tr> 
 

 
@foreach (var item in Model) { 
 
    <tr> 
 
     <td> 
 
      @Html.DisplayFor(modelItem => item.Name) 
 
     </td> 
 
     <td> 
 
      @Html.DisplayFor(modelItem => item.Pass) 
 
     </td> 
 
    
 
     <td> 
 
      @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | 
 
      @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | 
 
      @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) 
 
     </td> 
 
    </tr> 
 
} 
 

 

 
    
 

 
</table>
は、理想的には、以下のカミソリで動作するはずです:それはここに

は私のコードです...どちらか変更されていません。

var lstUtil = ctx.Utilisateur; 
return View(lstUtil.ToList()); 

また、モデルの種類をダブルチェックしてください。競合があります。一つは、「WebApplication1.Utilisateur」であり、他は「WebApplication1.Models.Utilisateur」です。これはあなたの問題を解決shoulds。

更新カミソリへ:

@model IEnumerable<WebApplication1.Utilisateur> 
+0

あなたの答えをありがとうございましたが、まだ私は持っていますほとんどの新しいエラー・ラ・ミーム:辞書に渡されたモデル項目タイプの「System.Collections.Generic.List'1 [WebApplication1.Utilisateur]」ですが、この辞書はタイプ「にSystem.Collectionsテンプレートアイテムが必要です。 Generic.IEnumerable'1 [WebApplication1.Models.Utilisateur]。 " – Mania

+0

モデルの種類をダブルチェックしてください。競合があります。一つは、「WebApplication1.Utilisateur」であり、他は「WebApplication1.Models.Utilisateur」です。これはあなたの問題を解決shoulds。 カミソリコードに更新します。カミソリの更新:@modelのIEnumerable Habeeb

+0

あなたは正しいです!それは、このでした!ありがとうは非常に – Mania