Подсчет значений созданных Repeater VB.net

У меня есть небольшой повторитель, который просматривает до 10 элементов в базе данных и выполняет вызовы базы данных в каждом повторении, чтобы получить значения (числовые), необходимые для ввода в базу данных. <p> тег в HTML.

После того, как репитер завершен, мне нужно получить сумму всех <p> значения тегов.

Мой код повторителя

<asp:Repeater runat="server" ID="locationRepeater" OnItemDataBound="getQuestionCount">
       <ItemTemplate>
          <p class='mainNotifications clickTip' id='locationQuestions' runat='server'>/p>           
       </ItemTemplate>
</asp:Repeater>

Ретранслятор, как уже упоминалось, зацикливается примерно 10 раз из списка. Функция, вызываемая OnItemDataBound простой запрос MySQL с одним числовым выходом, этот вывод вводится в <p> тег с этим кодом:

CType(e.Item.FindControl("locationQuestions"), HtmlGenericControl).InnerHtml = outputFromMySQL

Так что я в конечном итоге с 10 <p> теги, каждый с числовым значением.

Используя jQuery, я мог посчитать значения путем суммирования итогов с .each('.className') а также .val() но я хочу быть в состоянии сделать это с кодом позади.

Я думаю... в основном, мне нужно сделать суммирование в цикле ретранслятора, а затем вывести его в итог, но я не знаю, как это сделать!

1 ответ

Решение

Почему вы выполняете запрос для каждого элемента повторителя? Вы бы получили гораздо лучшую производительность, если бы извлекали данные заранее в одном запросе. Тогда вы также можете легко рассчитать общую стоимость.

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

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

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