2011-01-28 4 views
0

나는 사용자 정의 컨트롤을 만들었습니다. 텍스트 상자가 하나 있습니다. 상위 웹 페이지에서이를 제어 할 수 있습니까?사용자 컨트롤 Asp.net

+0

무엇이 문제입니까? – awe

답변

3

는 사용자 정의 컨트롤에 다음 속성을 추가합니다 :

public string SomeValue 
{ 
    get 
    { 
     return txtSample.Text; 
    } 
    set 
    { 
     txtSample.Text = value; 
    } 
} 

그리고 경우를 부모에서

public void DoSomething() 
{ 
    //Do something here from UserControl 
} 

예를 들어 사용자 정의 컨트롤이 들어있는 페이지에서 사용자 정의 컨트롤의 텍스트 상자 값을 가져 오거나 설정하려면 다음을 수행하십시오.

MyUserControl.SomeValue = "Hello from page"; 
lblTest.Text = MyUserControl.SomeValue; 

여기서 "MyUserControl"은 포함 페이지의 사용자 정의 컨트롤의 ID입니다.

참고 : TextBox 컨트롤은 ViewState의 Text 속성을 자체적으로 처리하므로이 속성에 대해 TextBox 컨트롤을 명시 적으로 처리 할 필요가 없습니다.

1

일부 공용 메서드 나 속성을 사용자 정의 컨트롤에 정의하면 성공적으로 액세스 할 수 있습니다.

UserControl1.ascx.cs에서 :

MyInstanceOfUserControl1.DoSomething(); 
+0

아니요 포스트 백에서 부모 페이지에서 사용자 컨트롤의 텍스트 상자에 텍스트를 가져 오려고합니다. – zanhtet

+1

Textbox1을 반환하는 사용자 정의 컨트롤에서 공용 메서드를 정의하는 것보다. 텍스트 값 – apros

+0

최상의 답변 IMO; 컨트롤의 모든 컨트롤과 잡다한 컨트롤을 노출하는 것이 아니라, 사용 가능한 기능, 예를 들어'GetText'와'SetText' 만 노출 할 수 있습니다. –