ASP. NET MVC просмотреть расчет для столбца - PullRequest
0 голосов
/ 05 мая 2020

У меня есть модель представления, у меня есть список из таблицы в моей модели представления, я привязываю модель к моему представлению и привязываю список к таблице html.

Модель представления:

public IEnumerable<MyTable> TableObject { get; set; }

Просмотр:

@if (Model.TableObject != null)
{
        foreach(var item in Model.TableObject)
        {
            <td>@item.Column1</td> 
            <td>@item.Column2</td>
            <td>CalculatedVariable</td>
        }   
}

Я могу получить все значения столбцов моей таблицы, такие как Column1, Colum2. Но я хочу рассчитать значение для отображения. Я могу получить это значение в контроллере с помощью следующего метода:

Контроллер:

public string GetCalculateValue(List<MyTable> searchList, int compareValue)
{
    string returnValue = String.Empty;

    var _theList = searchList.Where(x => x.myValue == compareValue).ToList();

    if (_theList.Count() > 1)
    {
        returnValue = "OK";
    }

    return returnValue;
}

Я хочу привязать это returnValue к моему представлению для отображения в столбце в html стол. Как передать это строковое значение для строк таблицы? Надеюсь, я смогу объяснить.

Спасибо за помощь.

1 Ответ

0 голосов
/ 09 мая 2020

Трудно понять, что происходит, но я считаю, что ваш общий подход должен быть следующим. Добавьте свойство в свой класс MyTable, чтобы он выглядел так:

public class MyTable
{
    public string Column1 {get; set;}
    public string Column2 {get; set;}
    public int myValue {get; set;}
    public string CalculatedVariable {get; set;}
}

Затем объект foreach MyTable, для которого вы установили значение CalculatedVariable в контроллере. Тогда вы сможете отображать вычисляемую переменную, как и другие ваши свойства.

Не то, что вы просили, но я думаю, что ваш GetCalculateValue можно сделать более читабельным, если его изменить на это.

public string GetCalculateValue(List<MyTable> searchList, int compareValue)
{
    return searchList.Any(x => x.myValue == compareValue) ? "OK" : "";          
}
...