Я работаю с MVC5 EF6.1, где у меня есть таблица с 20 полями, реализующими тот же интерфейс
public interface ITestAttribute
{
int Id { get; set; }
string Name { get; set; }
}
// EF entity, there are 20 models like this, for example, TestLocation: ITestAttribute
public class TestActivity : ITestAttribute
{
public int Id { get; set; }
public string Name { get; set; }
}
// EF entity
public class TestTable
{
public int Id { get; set; }
// There are 20 different fields
public List<TestActivity> TestActivities { get; set; }
}
В представлении Razor я хочу вызвать шаблон редактора для этих 20 полей, реализующих тот же интерфейс,это потому, что я не хочу создавать 20 настраиваемых полей для каждого свойства
@model im.DAL.TestTable
<p>Id: @Model.Id</p>
<p>@Html.EditorFor(model => model.TestActivities, "TestCtrl") </p>
<p>@Html.EditorFor(model => model.TestLocations, "TestCtrl") </p>
В представлении Razor мне нужен EditorTemplate, я создал папку в Shared Folded и добавил представление со следующим кодом
@model List<im.DAL.ITestAttribute>
@foreach (var item in Model)
{
<p>@item.Name</p>
}
но я получил следующую ошибку
Элемент модели, переданный в словарь, имеет тип 'System.Collections.Generic.List 1[im.DAL.TestActivity]', but this
dictionary requires a model item of type
'System.Collections.Generic.List
1 [im.DAL.ITestAttribute]'.