사용자가 원하는 기능을 수행하거나 원하는대로 동작하도록 공용 속성이나 기능을 만들어 사용자 정의 컨트롤 기능을 노출해야합니다. 따라서 귀하의 경우 예를 들어, 당신은 (당신은 또한 기능을 할 수있는)와 같은 사용자 컨트롤의 속성을 가질 수있다 :
public List<string> SomeValues
{
get
{
// return null if checkbox is not checked, you could just as easily return an empty list.
List<string> lst = null;
if (yourCheckBox.Checked)
{
lst = new List<string>();
// You could have something that iterates and find your controls, remember you
// are running this within your user control so you can access all it's controls.
lst.Add(yourTextBox1.Text);
lst.Add(yourTextBox2.Text);
lst.Add(yourTextBox3.Text);
// etc...
}
return lst;
}
}
그런 다음 페이지에서는 사용자 컨트롤을 액세스하고 값을 얻기 위해이 속성을 호출 할 수 있습니다 :
// assuming you defined your usercontrol with the 'yourUserControl' ID
List<string> lst = yourUserControl.SomeValues;
열쇠는 당신이 그렇게 그것이 세부 사항 또는 구현의에 대해에 대해 알 필요가 없다 사용하고 어떤 사용자 컨트롤에서 원하는 노출하는 것입니다. 다른 컨트롤처럼 사용할 수 있어야합니다.
이것은 내가 누락 된 부분이었습니다. 감사합니다. – mwright