2011-08-16 3 views
3

내 ASP.Net 프로젝트에서; 나는 C#을 코드 뒤에서 사용하고있다.ASP NET - C# : Id로 액세스 제어

내 프로젝트 기능 중 하나는 사용자의 필요에 따라 동적으로 일부 텍스트 상자를 만듭니다. 각 텍스트 상자에는 다른 ID가 있습니다.

제 질문은 어떻게 ID로 해당 텍스트 상자에 액세스 할 수 있습니까?

5 개의 텍스트 상자가 만들어 졌다고 가정하면, 그 중 하나의 코드를 어떻게 편집 할 수 있습니까?

벨로 내가 그 텍스트 상자를 생성하는 데 사용하는 실제 코드 :

int name_id = 1; 
foreach (WebApplication5.ServiceReference1.ClientData client in Clients) 
{ 
    TextBox1 = new TextBox(); 
    TextBox1.ID = name_id.ToString(); 
    TextBox1.Style["Position"] = "Absolute"; 
    TextBox1.Style["Top"] = y + "px"; 
    TextBox1.Style["Left"] = x + "px"; 
    TextBox1.Text = client.descricao; 
    Form.Controls.Add(TextBox1); 

    name_id++; 
    x = x + 10; 
    y = y + 10; 
} 
+0

이러한 컨트롤을 [Panel] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.aspx) 또는 [PlaceHolder] (http : /msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.placeholder%28v=VS.100%29.aspx) 대신 양식에 직접 입력하십시오. 이 방법으로 레이아웃을 변경하는 것이 더 간단합니다. –

+0

클라이언트 또는 서버 쪽에서 액세스 하시겠습니까? –

답변

11

당신은 뒤에 코드에서이 작업을 수행 할 수 있습니다; 만 이런

TextBox tb1 = (TextBox)FindControl(name_id) 
0
TextBox tb = Form.FindControl(TextBox1.ID) as TextBox 

, 당신이 ID에 의해 액세스가 직접 그들이 * .designer.cs에 결석 할 수없는 이유 RESON.