2011-11-22 2 views
0

데이터베이스에서 최대 약 10 개의 항목까지 반복하는 작은 리피터가 있으며 각 반복 내에서 데이터베이스 호출을 수행하여 <p> 태그를 입력하는 데 필요한 값 (숫자)을 가져옵니다. HTML.리피터 VB.net에 의해 생성 된 값 계산

일단 리피터가 완료되면 모든 <p> 태그 값의 합계를 얻어야합니다.

내 중계기 코드는 리피터가 언급 한 바와 같이, 목록에서 약 10 회 반복한다

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

입니다.

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

그래서 내가 끝낼 무엇 10 개 <p> 태그, 각이다 OnItemDataBound에 의해 호출되는 함수는이 출력이 코드는 <p> 태그에 입력, 하나의 숫자 출력 간단한 MySQL의 쿼리입니다 수치.

jQuery를 사용하여 합계를 .each('.className').val()으로 합산하여 값을 계산할 수 있었지만이 코드를 사용하여이 작업을 수행 할 수 있기를 원합니다.

나는 기본적으로 중계기의 루프 내에서 합계를 만들어 총계로 출력하지만, 어떻게해야하는지 모릅니다.

+0

오른쪽 리피터 당신이 변수 인스턴스의 총 값을 갖게됩니다 데이터 바인딩 완료? –

답변

0

각 중계기 항목에 대한 쿼리를 실행하는 이유는 무엇입니까? 하나의 쿼리에서 데이터를 미리 가져 오는 것이 훨씬 더 나은 성능을 얻을 수 있습니다. 그런 다음 총 가치를 쉽게 계산할 수도 있습니다.

그러나 이것이 실제로 필요한 경우 'TotalCount'인스턴스 변수를 코드 숨김 클래스에 추가하고 각 OnItemDataBound에이 값을 쿼리 결과와 함께 늘릴 수 있습니다.

다음

당신은 당신은 당신의`Repeater`에`List` 결합해야

+0

그래, 성능이 좋아질 것입니다. 목록의 내용을 알 필요가 없으므로이 방법이 더 쉽습니다. 따라서 먼저 데이터베이스에서 목록을 가져온 다음 항목을 사용하여 결과를 반복해야합니다. 루프 된 쿼리의 WHERE 절에있는 매개 변수로 목록 TotalCount 변수를 추가하려고했지만 올바른 위치에 넣을 수 없습니다! –

+0

어디에 넣으셨습니까? –

+0

Ahh ... Doh ... 그것을 지금 얻었다. 나는 –