как генерировать динамические значения внутри тега div в повторителе, которых нет в базе данных

у меня есть таблица в базе данных, как показано ниже

seatId,flightId,seatStatus,passengerId,

в настоящее время я использую повторитель, подобный этому, чтобы сопоставить некоторые значения в jquery и сохранить в базе данных.

<asp:Repeater ID="SeatingSection" runat="server">
       <ItemTemplate>
           <div class="seat <%# Convert.ToBoolean(Eval("seatStaus")) ? "available" : "not-available" %>"><%# Eval("SeatId") %></div>
       </ItemTemplate>
   </asp:Repeater>

Предполагая, что у меня есть 100 мест для 1 идентификатора рейса, это требует, чтобы я вручную вставил номер места и статус сиденья в базу данных или написал 100 div для идентификатора места для 1 одного идентификатора полета. Что я хочу сделать, так это сгенерировать 100 мест с разными идентификаторами и соответствующим статусом без необходимости вводить его вручную и без ввода какого-либо предыдущего значения в базу данных. как я могу это сделать?
Редактировать: источник данных для ретранслятора - это список типа class. возможно ли заполнить список пустыми значениями для тех, которых еще нет в базе данных?


person sid0972    schedule 02.10.2013    source источник
comment
если вы не хотите хранить данные о месте в базе данных, как вы будете отслеживать статус места? Если я правильно понимаю ваш вопрос, похоже, вы просто хотите использовать цикл для заполнения коллекции 100 объектами мест и использовать ее для источника данных повторителя.   -  person rdans    schedule 02.10.2013


Ответы (2)


Меня немного смущает ваш вопрос, но похоже, что вы можете использовать скрытые поля и генерировать GUID для уникальных идентификаторов. Я не уверен, что вы пытаетесь сделать с jQuery, но вы можете пройти через DOM, используя скрытые поля в качестве отправной точки для изменения атрибутов родительских/родственных элементов.

<div id="item-list">
    <div class="item">
        <div class="item-title">Heading</div>
        <input type="hidden" id="item1" value="1" />
    </div>
    <div class="item">
        <div class="item-title">Heading</div>
        <input type="hidden" id="item2" value="2" />
    </div>
</div>

А вот jQuery:

$(function () {
    var el = $("#item-list");
    if (el) {
        $(el).find("input:hidden").each(function () {
            $(this).siblings(".item-title").text("Heading " + $(this).val());
        });
    }
});
person James Johnson    schedule 02.10.2013
comment
Да, но в этом случае мне пришлось бы написать 100 случаев, если бы мне нужно было достичь значения 100. А что касается цикла, как мне реализовать его внутри повторителя, пример, пожалуйста. - person sid0972; 03.10.2013

Я использовал другой подход, чтобы решить эту проблему. Проголосуйте за ответ, который я использовал в качестве источника данных для повторителя, и я вставил 100 значений в список, а не в базу данных. В этом мне не нужно было заполнять базу данных.

person sid0972    schedule 03.10.2013