You can take a similar approach to your text box but declare a public method which takes the textbox name as a parameter and then returns it like this:
In your ASCX:
public TextBox GetDynamicTextBoxByID(string textBoxId)
{
return (TextBox)Page.FindControl(textBoxId);
}
In your Parent page:
foreach (RepeaterItem itm in rptAttribute.Items)
{
MyUserControl uc = ((MyUserControlitemUserControl)itm.FindControl("MyContorlName"));
string test = uc.MyString;
TextBox tx = uc.GetDynamicTextBoxByID(idOfTextBox);
}
Don't forget to check for null being returned and handling appropriately.