こんにちは、私はユーザーと呼ばれるデータモデルを持っています。コントローラでは、私は、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ビューコントローラエラー
答えて
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>
あなたの答えをありがとうございましたが、まだ私は持っていますほとんどの新しいエラー・ラ・ミーム:辞書に渡されたモデル項目タイプの「System.Collections.Generic.List'1 [WebApplication1.Utilisateur]」ですが、この辞書はタイプ「にSystem.Collectionsテンプレートアイテムが必要です。 Generic.IEnumerable'1 [WebApplication1.Models.Utilisateur]。 " – Mania
モデルの種類をダブルチェックしてください。競合があります。一つは、「WebApplication1.Utilisateur」であり、他は「WebApplication1.Models.Utilisateur」です。これはあなたの問題を解決shoulds。 カミソリコードに更新します。カミソリの更新:@modelのIEnumerable
あなたは正しいです!それは、このでした!ありがとうは非常に – Mania
英語で私は –
データモデルのQUIのs'intituleユーザーを持っていてください。私は、データベース内のテーブル内のすべての件のデータをチェックして、私の見解では」日を示し、私がチェックし、どのような観点で期待されていることにより、送信されるデータの種類についてのエラーを持って目指しにおける収集しよう。 – Mania
スタックオーバーフローが英語であることを喜ん必要があります。https://meta.stackoverflow.com/questions/297673/how-do-i-deal-with-non-english-content –