Как расширить ViewModel составленным свойством

В проекте MVC у меня есть этот simpel ViewModel, который я использую, чтобы заполнить таблицу в.cshtml. Каждый столбец легко заполняется свойствами объекта устройства.

Мне нужно сделать новый столбец и заполнить его счетчиком. Этот счет создается из идентификатора устройства на сервере.

Я хочу расширить мою ViewModel с помощью свойства Count. Количество создается каждым идентификатором устройства, который используется для получения списка, а затем счет.

Итак, мой вопрос: как вы проектируете эту "составленную" ViewModel? Я думал об упаковке всего этого в частном классе, но я не знаю, является ли это лучшими методами.

ViewModel:

public class DeviceViewModel
{
    public List<Device> Devices { get; set; }
}

.cshtml:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Priority</th>
            <th>Version</th>
        </tr>
    </thead>

    <tbody>
    @{
        foreach (var device in Model.Devices)
        {
            <tr id="@device.ID">
                <td>@device.Name</td>
                <td>@device.Priority</td>
                <td>@device.Version</td>
            </tr>
        }
    }
    </tbody>
</table>

Я представляю, что.cshtml что-то вроде этого и не знаю о ViewModel:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Priority</th>
            <th>Version</th>
            <th>Count</th>
        </tr>
    </thead>

    <tbody>
    @{
        foreach (var composedDevice in Model.ComposedDevices)
        {
            <tr id="@composedDevice.ID">
                <td>@composedDevice.Name</td>
                <td>@composedDevice.Priority</td>
                <td>@composedDevice.Version</td>
                <td>@composedDevice.Count</td>
            </tr>
        }
    }
    </tbody>
</table>

0 ответов

Другие вопросы по тегам