Как передать универсальный тип свойства модели в представление MVC - PullRequest
0 голосов
/ 10 мая 2018

Я хочу передать модель макету и представлению, в котором содержится общий тип объекта.У меня есть следующее:

   public class BaseModel
   { 
       public int ProductId {get;set;}
       public Object ModelObject { get; set; } 
   }

   public class ProductType1 
   {
        public string Name {get;set;}
        public decimal Price {get;set;}
   }

   public class ProductType2
   {}

   public ActionResult Index()
   {
      BaseModel baseModel = new BaseModel(); 
      baseModel.ModelObject = new ProductType1();  
      return View("View1", "_MyLayOut", baseModel);
   } 

Так что в этом примере я передаю макету baseModel, который содержит тип объекта ProductType1.В верхней части моего макета у меня есть

@model Project1.Models.BaseModel

. В представлении, как я приведу ModelObject к ProductType1, поэтому, например, я могу ссылаться на модель как ProductType1.Name.

1 Ответ

0 голосов
/ 10 мая 2018
public class BaseModel<T>
{ 
    public int ProductId {get;set;}
    public T ModelObject { get; set; } 
}
// ...
BaseModel<ProductType1> baseModel = new BaseModel<ProductType1>(); 
// ...
@model Project1.Models.BaseModel<ProductType1>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...