Как использовать универсальные типы в виде модели 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
Вот хороший пример для обзора.