Как использовать универсальные типы в виде модели mvc - PullRequest
0 голосов
/ 22 сентября 2018

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

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

Мой начальный код:

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 Ответ

0 голосов
/ 22 сентября 2018

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

@model IEntity

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

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

Чтобы определить тип модели, вы можете использовать ключевое слово "is":

if (model is Sector)
    // Do something

Здесь - хороший пример для обзора.

...