Как использовать универсальные типы в виде модели mvc

Я хочу создать частичное представление, которое будет использоваться несколько раз с различными объектами.

Кажется, что способ сделать это - реализовать интерфейсы и использовать универсальные типы. Но после долгих поисков я все еще не понимаю, как использовать это в моем случае.

Мой стартовый код:

public interface IEntity
{
    string Title { get; set; }
    string TextToDisplay { get; set; }
}
public class MainViewModel
{
    public Vehicule Vehicule{ get; set; }
    public Sector Sector{ get; set; }
}
public class Vehicule:IEntity
{
    public int Id{get;set;}
    public string Name{ get; set; }
}
public class Sector:IEntity
{
    public string Id{ get; set; }
    public string Name{ get; set; }
}

Я увидел, что модель частичного вида будет выглядеть так:

@model GenericModelType<IEntity>

Но теперь, что бы структура GenericModelType и как сделать частичное представление (какой параметр поставить в @Html.RenderPartial("_PartialView",?????)

заранее спасибо

1 ответ

Ваша модель должна быть:

@model IEntity

и ваш код рендеринга:

@Html.RenderPartial("_PartialView", model);

Для определения типа модели вы можете использовать ключевое слово "is":

if (model is Sector)
    // Do something

Вот хороший пример для обзора.

Другие вопросы по тегам