の間であいまいです:エラー:呼び出しは、私はこのエラーを取得する次のメソッドやプロパティ
The call is ambiguous between the following methods or properties:
DisplayNameFor<IEnumerable<Category>,string>(HtmlHelper<IEnumerable<Category>>, System.Linq.Expressions.Expression<System.Func<IEnumerable,string>>)
and
DisplayNameFor<Category,string>(HtmlHelper<IEnumerable>, System.Linq.Expressions.Expression<System.Func<Category,string>>)
私のモデルは
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
}
私のコンテキストモデルが
public class CategoryContext : DbContext
{
public DbSet<Category> category { get; set; }
}
私のコントローラであります:
public ActionResult GetCategory()
{
using (CategoryContext cc = new CategoryContext())
{
var cat = cc.category.ToList();
return View();
}
}
私のビューは次のとおりです。
@model IEnumerable<CRUD_Manav_EF.Models.Category>
<h1>Get Category</h1>
<table>
<tr>
<th>@Html.DisplayNameFor(model => model.CategoryName)</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayNameFor(modelItem => item.CategoryName) // I get error here
</td>
<td>
@Html.ActionLink("Edit", "Update", new { id = item.CategoryId })
@Html.ActionLink("Details", "Details", new { id = item.CategoryId })
@Html.ActionLink("Delete", "Delete", new { id = item.CategoryId })
</td>
</tr>
}
</table>
特にヘッダーにそのテキストがある場合は、各行の "CategoryName"というテキストを繰り返しても意味がありません。私はあなたの名前ではなくプロパティの値を出力する '@ Html.DisplayFor(modelItem => item.CategoryName)'( 'DisplayNameFor()')を意味すると仮定します。 –
@StephenMueckeそして、 @ Html.DisplayFor()の代わりに@ Html.DisplayName()を使用しています。 – Rajput
@Rajput、はい私は知っています:) –