Ola Ciko,
mi mostri il codice che hai fatto? così si lavora direttamente li...
In pratica devi aggiungere un evento, ma potresti usare anche un action senza stressarti con (seppur più eleganti) delegate & event.
Metti una proprietà public Action<TipoRestituito>, dopo aggiungi un handler al tuo evento, e nel metodo che viene chiamato chiami la action. Nel controllo 2 devi solo rendere public quello che vuoi modificare, immaginiamo il text di una label. mentre nella pagina che ospita i 2 controlli, imposti la Action sulla proprietà della label del controllo 2.
in pratica questo :
codice:
//WebUserControl1, possiede una listBox che genera l'evento
public partial class WebUserControl1 : System.Web.UI.UserControl
{
public Action<string> Action { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ListBox1.DataSource = Enumerable.Range(0, 10).Select(s => s.ToString());
this.ListBox1.DataBind();
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.Action != null&&this.ListBox1.SelectedItem!=null)
this.Action(this.ListBox1.SelectedItem.Text);
}
}
//WebUserControl2, possiede una label che verrà cambiata dal controllo 1
public partial class WebUserControl2 : System.Web.UI.UserControl
{
public string LabelText { get { return this.Label1.Text; } set { this.Label1.Text = value; } }
protected void Page_Load(object sender, EventArgs e)
{
}
}
//la pagina che contiene i WebUserControls
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//imposto la action del controllo 1 in modo che quando scatta imposta la label del controllo 2 con il testo selezionato nel controllo 1
this.WebUserControl11.Action = new Action<string>((item) => this.WebUserControl21.LabelText = item);
}
}
EDIT :
Il fatto che il controllo sia caricato dinamicamente non fa differenza, ma una cosa che hai detto mi ha un po colpito, ovvero : "l'ho sollevato all'indexChanged ma l'evento è null", cosa intendi? non è che intendi che non scatta, o che il selectedItem è null, o roba di questo tipo?