Я могу отобразить список всех клиентов, и я могу отобразить список всех заказов, и я хотел бы пойти дальше.
Я хотел бы отобразить два частичных представления на одной странице, чтобы показать данные клиента и заказы, относящиеся к этому клиенту.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage< MyDemo.Models.CustomerAndOrdersViewModel >" %>
<% Html.RenderPartial("CustomerDetails", this.ViewData.Model.Customer); %>
<% Html.RenderPartial("CustomerOrders", this.ViewData.Model.Order); %>
Я создал модель представления
public class CustomerAndOrdersViewModel
{
public CustomerAndOrdersViewModel(Customer customer,
IEnumerable<Order> orders)
{
this.Customer = customer;
this.Order = orders;
}
public Customer Customer { get; set; }
public IEnumerable<Order> Order { get; set; }
}
И в моем контроллере клиента я определил
ICustomerRepository customerRepository;
IOrderRepository orderRepository;
public CustomersController()
: this(new CustomerRepository())
{
}
public CustomersController(ICustomerRepository repository)
{
customerRepository = repository;
}
public CustomersController(IOrderRepository repository)
{
orderRepository = repository;
}
затем я пытаюсь передать CustomerAndOrdersViewModel в представление сведений
public ActionResult Details(int id)
{
QuestionAndOrderViewModel viewdata = new CustomerAndOrdersViewModel(customerRepository.GetCustomer(id),
orderRepository.FindAllOrders());
return View(viewdata);
}
Но я получаю сообщение об ошибке "Ссылка на объект не установлена на экземпляр объекта" для orderRepository.
Где я иду не так?