Как передать один столбец данных в виде списка с помощью viewbag в строго типизированное представление - PullRequest
0 голосов
/ 06 мая 2011

Может ли кто-нибудь указать мне правильное направление относительно того, как передать один столбец данных в списке с помощью viewbag в строго типизированное представление. Я передаю список CustomerSites, используя строго типизированное представление. Я также хотел бы отображать CustomerName рядом с каждым CustomerSite в списке.

Я испробовал следующий подход, но поскольку контроллер возвращает список клиентов, он не позволяет мне получить доступ к свойству CustomerName из представления, возможно ли получить доступ к этому свойству из представления?

public ViewResult Index()
    {
        var q = from a in db.Customers.ToList()
        select a;
        ViewBag.customer = q;
        return View(db.CustomerSites.ToList());
    }

@model IEnumerable<trsDatabase.Models.CustomerSite>
@foreach (var customer in Model)
{
<tr>
 <td>
        @ViewBag.customer.CustomerName
   </td>
   <td>
        @customer.UnitNo
    </td>
    <td>
        @Truncate(customer.StreetName, 25)
    </td>
    <td>
        @customer.Town
    </td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id=customer.Id }) |
        @Html.ActionLink("Details", "Details", new { id=customer.Id }) |
        @Html.ActionLink("Delete", "Delete", new { id=customer.Id })
    </td>
</tr>
}

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Я бы посоветовал вам перейти к View ViewModel, созданному из CustomerSites и CustomerNamesПочему вы не получаете от объекта БД, который состоит из имени клиента и сайта?

0 голосов
/ 06 мая 2011

Мне кажется, что ViewBag.customer содержит коллекцию Customers, а не один Customer объект. В вашем запросе у вас должна быть where часть.

...