2009-07-28 2 views
1

asp.net 리피터 컨트롤에 익숙하지 않습니다. 나는 리피터, 양 및 sku에있는 2 개의 란이있다. 버튼을 클릭하면 리피터의 행을 반복하고 각 수량과 SKU를 메서드로 전달합니다. 리피터에서이 정보를 어떻게 얻습니까?ASP.NET 리피터

답변

7

:

같은
foreach(RepeaterItem item in repeaterControlID.Items) 
{ 
    var quantity = item.FindControl("quantityControlID"); 
    var sku = item.FindControl("skuControlID"); 
} 

또는 뭔가. RepeaterItem의 Controls 속성을 사용하여 살펴볼 수도 있습니다.

E : 귀하의 질문에 대한 나의 해석은 다음과 같습니다. "단추 클릭으로 인한 포스트 백에서 중계기의 항목을 반복하여 해당 값을 메서드에 전달하고 싶습니다." 이것은 클라이언트 측 javascript에서 무언가를하는 중계기 또는을 채우는 데는 적용되지 않습니다.

그리고 물론

, MSDN 당신이 당신의 ItemTemplate을의 "양"과 "SKU"를 표시하는 방법에 그것은 의존 Repeater

+0

덕분에, 내가 MSDN 보았다하지만 예를 좋아하지 않았다. – jumbojs

0

클라이언트 측 또는 서버 측? 서버 측을 의미한다고 가정하면 repeater의 OnItemDataBound 이벤트를 사용하십시오. 행마다 데이터가 매개 변수로 포함되어 행마다 한 번 실행됩니다. 버튼을 클릭하는 방법에있어서

0

처럼, 다양한 클래스를 사용하는 방법을 학습을위한 훌륭한 자원이다. 당신이 당신의 ItemTemplate을 게시 할 수 있다면 그래도 도움이 될

foreach(RepeaterItem item in Repeater1.Items) 
     {   
      string quantity = ((DataBoundLiteralControl)item.Controls[0]).Text; 
      string sku = ((DataBoundLiteralControl)item.Controls[1]).Text; 

     } 

: 당신이 <%# DataBinder.Eval(Container, "quantity") %> 구문을 사용하는 경우, 당신은 이런 식으로 뭔가를 할 수 있습니다.

+0

무슨 나쁜 해결책 !!!!! 그리고 칼럼들이 그녀의 주문을 바꾼다면 ?? –

0
당신은 당신의 컨트롤이 너무 속성에 액세스하기 위해 "입력"할 수 있습니다

...

foreach(RepeaterItem item in this.RptTest.Items){ string DdlTestValue = ((DropDown)item.FindControl("DdlTest")).SelectedValue; string TxtTestValue = ((TextBox)item.FindControl("TxtTest")).Text; }

관련 문제