2010-01-25 7 views
1

내 루프에 텍스트 상자를 만들어서 ID가 모두 "TextBox"가 아닌 고유 한 텍스트 상자를 만드는 가장 좋은 방법은 무엇입니까? 단위당 가격과 수량을 기준으로 가격을 합산해야합니다. 내 항목이 데이터베이스에서로드되어 여러 항목이있을 수 있으므로 즉시 필드를 생성해야합니다. 어쩌면 필드 배열을 양식 응용 프로그램과 같이 사용할 수 있다고 생각 했었습니까? 아니면 이것이 올바른 방법이 아닐까요?프로그래밍 방식으로 고유 한 ID를 사용하여 ASP.Net에서 텍스트 상자 만들기

나는 인터넷 검색을 시도했지만 어쩌면 내 질문을 잘 표현하지 못했습니다. 이것이 쉽게 해결되어야하는 것처럼 보이지만 나는 그 답을 찾을 수 없습니다. 당신은 this demonstration에서와 Repeater control을 사용하는 것이 좋습니다

<table class="proposal" width="800"> 
     <tr> 
      <th>Item</th> 
      <th>Price per Unit</th> 
      <th>Quantity</th> 
      <th>Price</th> 
     </tr> 

     <% int x = 0; %> 
     <% do 
      { 
     %> 
     <tr> 
      <td valign="top"> 
       <%= this.name[x] %><br /> 
       <%= this.desc[x] %></td> 
      <td valign="top" align="right"><%= "$" + this.price[x] %></td> 
      <td valign="top" align="center"><asp:TextBox ID="TextBox" runat="server" Width="75px"></asp:TextBox></td> 
      <td valign="top" align="right"></td> 
     </tr> 

     <% x++; 
      } while (x != this.y); 
     %> 

    </table> 

답변

2

asp.net TextBox에 대해 동적 ID를 지정할 수 없습니다. 일반 html <input type="text"> 텍스트 상자를 대신 사용할 수 있습니까? 그럼 네가 원하는 이드를 할당 할 수있어.

또 다른 방법은 리피터 컨트롤을 사용하여 테이블을 생성하는 것입니다. 각 TextBox는 자동으로 고유 ID를 얻습니다. 코드에서 ID를 가져 오려면 Repeater의 ItemDataBound 메서드에서 FindControl을 사용하여 TextBox에 대한 핸들을 가져오고 ids/

을 읽습니다.
1

:

여기 내 코드입니다.

관련 문제