Member 12839758 Ответов: 1

Таблица HTML по каждому элементу давать одинаковые результаты


У меня есть HTML, который я заполняю из модели, но вместо того, чтобы давать мне каждый столбец в моей модели, я получаю повторяющиеся строки на основе " Id"

Это мой стол Сквема и мое желание выход:

ID  |  LINE  |  ART  |  QUANTITY  |  PRICE  |  TOTAL                                 200    1        5         3          10         30
200    2        7         5          100        500
200    3        7         2          100        200
201    1        9         1          40          40
201    2        12        3          35         105 


Однако мой стол заполняется вот так:

ID  |  LINE  |  ART  |  QUANTITY  |  PRICE  |  TOTAL                                 200    1        5         3          10         30
200    1        5         3          10         30
200    1        5         3          10         30
201    1        9         1          40         40
201    1        9         1          40         40


Как вы можете видеть, я всегда получаю первый результат "строки", но повторяюсь по количеству строк, а не по каждой другой строке с одним и тем же "идентификатором"

Что я уже пробовал:

Это мой стол наполнитель
<pre><tr id="details" style="display:none;">
                        <td colspan="6">
                            <table>
                                <tr class="table-tr-header">
                                    <td align="center" class=""># Ped</td>
                                    <td align="center" class="">Line</td>
                                    <td align="center" class="">Art</td>
                                    <td align="center" class="">Quantity</td>
                                    <td align="center" class="">Price</td>
                                    <td align="center" class="">Total</td>
                                    <td><input type="checkbox" name="myTextEditBox" value="checked" /></td>
                                </tr>
                                @foreach (var itemChild in Model.compdl))
                                {
                                <tr>
                                    <td align="center">@itemChild.Id</td>
                                    <td align="center">@itemChild.Line</td>
                                    <td align="center">@itemChild.Art</td>
                                    <td align="center">@itemChild.Quantity</td>
                                    <td align="center">@itemChild.Price</td>
                                    <td align="center">@itemChild.Total</td>
                                </tr>
                                }
                            </table>
                        </td>
                    </tr>


Моя модель Compdl является :

public partial class Compdl
  {
    public long Id { get; set; }
    public long Line { get; set; }
    public int Art { get; set; }
    public int Quantity { get; set; }
    public decimal Price{ get; set; }
    public double Total { get; set; }
  }



Что я делаю не так???

Karthik_Mahalingam

примените отладчик и посмотрите, как на самом деле вы получаете данные

1 Ответов

Рейтинг:
1

Ehsan Sajjad

Похоже, что строки, поступающие со стороны контроллера, содержат дубликаты, вы можете устранить дубликаты с помощью Distinct() метод :

@foreach (var itemChild in Model.compdl.Distinct())
{
    <tr>
      <td align="center">@itemChild.Id</td>
      <td align="center">@itemChild.Line</td>
      <td align="center">@itemChild.Art</td>
      <td align="center">@itemChild.Quantity</td>
      <td align="center">@itemChild.Price</td>
      <td align="center">@itemChild.Total</td>
    </tr>
}


Member 12839758

создание оператора Distic() возвращает мне только 1 строку foreach different " No_ped, но я wabnt 3 строки из "No_Ped=200", но с их разными строками, и теперь я получаю количество строк взамен, но каждая строка получает те же значения из первой, не знаю почему