У меня есть просмотр с мастер-страницей.Пользовательский элемент управления использует модель:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BudgieMoneySite.Models.SiteUserLoginModel>" %>
Этот пользовательский элемент управления отображается на всех экранах (часть главной страницы).Если пользователь вошел в систему, он показывает определенный текст, а если пользователь не вошел в систему, он предлагает поле для входа.
Это работает нормально.
Теперь ядобавив мой первый функциональный экран.Итак, я создал новый вид ... и, ну, я сгенерировал код основного вида для меня, когда я выбрал метод контроллера, и сказал «Создать вид».
Мой контроллер имеет этот код:
public ActionResult Transactions()
{
List<AccountTransactionDetails> trans = GetTransactions();
return View(trans);
}
private List<AccountTransactionDetails> GetTransactions()
{
List<AccountTransactionDto> trans = Services.TransactionServices.GetTransactions();
List<AccountTransactionDetails> reply = new List<AccountTransactionDetails>();
foreach(var t in trans)
{
AccountTransactionDetails a = new AccountTransactionDetails();
foreach (var line in a.Transactions)
{
AccountTransactionLine l = new AccountTransactionLine();
l.Amount = line.Amount;
l.SubCategory = line.SubCategory;
l.SubCategoryId = line.SubCategoryId;
a.Transactions.Add(l);
}
reply.Add(a);
}
return reply;
}
Итак, мое представление было сгенерировано следующим образом:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Collections.Generic.List<BudgieMoneySite.Models.AccountTransactionDetails>>" %>
Found <% = Model.Count ()%> Транзакции.
Все, что я сейчас хочу показать, - это количество записей, которые я буду отображать.
Когда я его запускаю, я получаю сообщение об ошибке:
"Элемент модели переданв словарь имеет тип 'System.Collections.Generic.List`1 [BudgieMoneySite.Models.AccountTransactionDetails]', но для этого словаря требуется элемент модели типа 'BudgieMoneySite.Models.SiteUserLoginModel'. "
Itпохоже, что пользовательский элемент управления отображается в первую очередь, и поскольку модель из контроллера - это мой список <>, он ломается!
Что я делаю не так?