2012-05-03 2 views
-1

은 내가 한 혼란을 가지고 asp.net-C#에서 미니 프로젝트를 ...에서 개발하고 ... 내가 런타임에 텍스트 상자의 볼 수에 대한 SQL 서버 2005asp.net web foms에서 런타임에 텍스트 상자 수를 추가하는 방법은 무엇입니까?

에서 레코드를 삽입 할 수있는 방법 우리가 데이터베이스에서 레코드를 검색 할 때 예 ...

나는 우리가 웹 양식에 넣어 쉽게 할 수있는 런타임시 3 텍스트 상자를 원하는 경우

...

그러나 우리는 모릅니다 데이터베이스에 삽입 할 정확한 레코드 수 ....

사용자가 아니요를 지정하면 동적으로 텍스트 상자를 만들어야합니다 ... 사용자가 행을 3으로 지정하지 않으면 3 개의 텍스트 상자가 웹 양식에 추가되어야하고 나중에 입력 한 텍스트를 읽어야합니다 (내 경우에는 학생의 자국) ....

이렇게하는 것이 가장 좋은 방법은 무엇입니까? ? 감사

답변

0

사용 중계기를 살펴 가질 수 Page_Init

for (int i = 0; i < ANYNUMBER; i++) 
     { 
       var textBox = new TextBox(); 
       textBox.ID = "txb_" + i.ToString();      
       this.Controls.Add(textBox); 
     } 

에 이런 일을하려고합니다. http://msdn.microsoft.com/en-us/library/c012haty(v=vs.90).aspx

다음은 실제 데이터 소스가없는 Repeater를 사용하는 예입니다 (VB.NET에서).

VB.NET Repeater Simple Data Binding Without Datasource

는 여기 당신은 여기에 많은 옵션을 가지고

myRepeater.DataSource = new int[3]; 
myRepeater.DataBind(); 

<asp:Repeater id="myRepeater" runat="server"> 
<ItemTemplate> 
    <input type="text" /> 
</ItemTemplate> 
</asp:Repeater> 
0

C#으로합니다. 불행히도 추가 컨트롤이 사용 된 방법을 알 수 없기 때문에 어떤 접근 방식이 가장 의미가 있는지 알 수 없었습니다.

그러나 한 가지 옵션은 원하는 컨트롤의 새 인스턴스를 할당하고 부모 컨트롤의 Controls 컬렉션에 추가하는 것입니다.

또 다른 접근법은 리피터, 그리드 또는 다른 데이터 컨트롤을 사용하는 것입니다. 컨트롤 수를 표시해야하는 데이터 항목 수에 따라 달라지는 경우이 방법을 사용하십시오.

또 다른 방법은 필요한 HTML 마크 업을 사용하여 예를 들어 Literal 컨트롤에 텍스트를 삽입하는 것입니다. 서버에 다시 게시하기 위해 값을 필요로하지 않는다면 약간 더 많은 작업을 수행 할 수 있지만 더 적은 방법입니다.

+0

내가 테스트 한 경우 Gridview 또는 리피터의 예를 제공합니까 ?? 나는 데이터베이스에서 레코드를 삽입 할 수있는 쉬운 방법이라고 생각합니다. – mack28

+0

예제를 제공하기 위해 내가하는 일에 대해 충분한 세부 정보를 제공하지 못했습니다. 일반적 예제가 필요한 경우 웹 전체에서 리피터 컨트롤을 사용하는 예가 있습니다. –

+0

이 링크를 볼 수 있습니다 http://stackoverflow.com/q/10425871/1357042 정확히 무엇을하고 싶은지 ... – mack28

관련 문제