Вам необходимо раскрыть функциональность пользовательских элементов управления, открыв общедоступные свойства или функции, чтобы заставить их делать то, что вам нужно, или действовать так, как вы хотите. Так, например, в вашем случае у вас может быть свойство в вашем пользовательском элементе управления, как (вы также можете сделать функцию):
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;
Ключ заключается в том, чтобы просто выставить то, что вы хотите, в своем пользовательском элементе управления, чтобы то, что его использует, не должно знать о его деталях или реализации. Вы должны иметь возможность использовать его так же, как любой другой элемент управления.