2011-05-02 3 views
3

이전에는 jQuery Ajax를 사용하여 장바구니를 만들었습니다. 이번에는 목록보기 서버 컨트롤을 사용하고 있습니다.ListView에서 서버 컨트롤 값 검색 및 업데이트

각 행에 수량 텍스트 상자가 있고 단추 클릭 수를 업데이트하려는 경우이를 수행하는 가장 우아한 방법은 무엇입니까?

protected void Button1_Click(object sender, EventArgs e) 
    { 
     foreach(ListViewItem item in ListViewCart.Items) 
     { 
      foreach (Control con in item.Controls) 
      { 
       if (con.GetType() == typeof(TextBox)) 
       { 
        //Do Work. 
       } 
      } 
     } 
    } 

은 내가 각 텍스트 상자에 대한 사용자 정의 속성에 제품 ID를 저장하고 데이터베이스를 업데이트 할 때 사용할 필요가 같은데요. (또는 다른 행의 값을 찾기 위해 더 많은 코드를 작성하십시오.)

더 중요한 것은, 내가 대신 사용할 다른 서버 컨트롤이 있습니까? gridview를 사용하고 싶지 않습니다.

+0

처럼 단축 할 수 추측의 GridView는 작업을 쉽게 할 수 있습니다. –

답변

2

나는 콘텐츠를 표 인 경우는 조금이

foreach (TextBox txtBox in 
    ListViewCart.Items.SelectMany(item => item.Controls.OfType<TextBox>())) 
{ 
    //do work like - txtBox.Text = "foo"; 
} 
+0

이 오류가 발생했습니다 : '형식의 개체를 캐스팅 할 수 없습니다' d__aa'1 [System.Web.UI.WebControls.TextBox] ''System.Web.UI.WebControls.TextBox '입력하십시오. –

+0

'Select()'대신'SelectMany()'를 시도해보십시오. –

관련 문제