2009-04-14 6 views
0

Hallo,ASP.NET 리피터 컨트롤 또는 사용자 지정 구현?

최근에 저는 경험이 많은 프로그래머간에 가장 많이 사용되는 ASP.NET Repeater 중 하나 인 varous 사이트 및 블로그에서 몇 가지 게시물을 읽었습니다. 누군가는 실제로 면접에서이 컨트롤을 자주 사용한다고 언급하면 ​​asp.net 프로그래머를 더 잘 고려한다고 썼습니다. 사실 거의 사용하지 않았기 때문에 초보자가됩니다. 동적으로 반복되는 컨트롤이 필요할 때 사용한 구현입니다.

public class MyUserControl:UserControl 
{ 
    LocalizedCheckBox chb; 
    LocalizedLabel lbl; 
    TextBox txt; 


    public MyUserControl() 
    { 
     //Instantiate controls 
    //do something with them 
} 

public bool Checked 
{ 
    get{ return chb.Checked;} 
} 
public string Text 
{ 
    get{ return txt.Text; } 
} 
} 


public partial class MyParentControl : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     //   
    } 
protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 

    foreach('something') 
    { 
     MyUserControl ctr = new MyUserControl(); 
     ctr.Text="some value"; 
     ctr.Checked= false; 
     this.Panel1.Controls.Add(ctr); 
    } 
    } 
protected void btn_Click(object sender, EventArgs e) 
    { 
     foreach (MyUserControl dControl in this.Panel1.Controls.OfType<MyUserControl>()) 
     { 
      //do something 
    string text = dControl.Text; 
     } 
    } 
} 

MyUserControl에서 이벤트를 추가 할 때도이 코드에 아무런 문제가 없었습니다. 물론 리피터 컨트롤을 사용하여 동일한 결과를 얻을 수도 있지만 리피터를 사용하는 것이 더 나은 이유를 알고 싶습니다.

대신 리피터를 사용하면 어떤 이점이 있습니까?

감사합니다.

답변

0

남자, 더 나은 리피터를 사용하거나 Net 3.5에서 listvew를 사용하는 것이 좋습니다. 이유가 무엇입니까? - 데이터 원본에 쉽게 데이터 바인딩 할 수 있기 때문에 내부의 컨트롤에 Eval을 사용합니다. - 당신이 좋아하는 많은 템플릿을 얻었습니다. 데이터베이스가 결과를 반환하지 않을 때 많이 사용합니다. 빈 화면을 표시하는 대신 사용자에게 알리기 위해 여기에 메시지를 넣을 수 있습니다. - 테이블, 사업부, UL을 원하는대로 렌더링을 제어 할 수 있습니다.

반복되는 항목에 대한 새로운 목록보기에 투자하는 것이 좋습니다.

희망이 답변 이런 종류의 내가 목록보기 살펴 보겠습니다 을보고 싶어,

+0

덕분에 사람을 도움이됩니다. 그러나 중계기의 예를 볼 때 반복되는 제어가 여러 이벤트, 속성 등으로 복잡하면 쉽게 볼 수 없습니다 ... –

+0

ur 환영 사람은 모든 것이 원하는대로 복잡해질 수 있지만 일반적으로 액세스 할 수 있습니다 모든 컨트롤 속성 및 모든 데이터 바인딩 된 컨트롤 내부에서 Ondatabound, Onitem 만들기 등 listview, 그리드 등의 이벤트를 사용하여 이벤트를 제어합니다. 다음 컨트롤을 사용하여 그것을 캐스팅 – DevMania

0

리피터는 데이터 소스에 쉽게 바인딩됩니다.

관련 문제