Salve Ragazzi.
Ho una tabella in updatepanel, la tabella viene riempita con una serie di bottoni tramite un asyncpostbacktrigger.
Adesso avrei bisogno di aggiornare il value di una textbox tramite il click su uno dei bottoni.
La textbox è fuori dall'updatepanel.
Qualcuno può aiutarmi?
Posto il codice che utilizzo e che non funziona.
Pagina ASPX
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style="display:none" >
<div style="height:50px">
<asp:Button ID="btnClose" runat="server" Text="Close" Style="margin-top:5px" /></div>
<table class="tabella_form">
<tr>
<td class="table_label">
<strong> Regione:</strong>
</td>
<td class="table_input">
<asp:DropDownList ID="DDRegione" runat="server" Width="150">
</asp:DropDownList>
<asp:CascadingDropDown ID="CDD_Regione" runat="server" TargetControlID="DDRegione" PromptText="Seleziona Regione" PromptValue="" ServiceMethod="GetDropDownRegioni" Category="Regioni" LoadingText="Caricamento..." />
</td>
<td class="table_label">
<strong>Provincia:</strong>
</td>
<td class="table_input">
<asp:DropDownList ID="DDProvincia" runat="server" Width="150" AutoPostBack="true" OnSelectedIndexChanged="DDProvincia_SelectedIndexChanged" ></asp:DropDownList>
<asp:CascadingDropDown ID="CDD_Provincia" runat="server" TargetControlID="DDProvincia" PromptText="Seleziona Provincia" PromptValue="" ServiceMethod="GetDropDownProvincie" Category="Provincie" LoadingText="Caricamento..." ParentControlID="DDRegione"/>
</td>
</tr>
<tr>
<td class="table_label">
<strong>Cerca Comune:</strong>
</td>
<td colspan="3">
<asp:TextBox ID="NomeComune" runat="server" CssClass="input_text_lungo"></asp:TextBox>
<asp:Button ID="BottoneCerca" runat="server" Text="" CssClass="operazione_visualizza" OnClick="CercaComune_Click"/>
</td>
</tr>
</table>
<asp:UpdatePanel ID="Pannello" runat="server" UpdateMode="Conditional" RenderMode="inline">
<ContentTemplate>
<div style="height: 500px; overflow-y: scroll">
<asp:Table ID="ComuniTrovati" runat="server" CssClass="tabella_view">
<asp:TableHeaderRow>
<asp:TableHeaderCell Width="40">Id</asp:TableHeaderCell>
<asp:TableHeaderCell>Nome</asp:TableHeaderCell>
<asp:TableHeaderCell>Codice Catastale</asp:TableHeaderCell>
<asp:TableHeaderCell>Provincia</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DDProvincia" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="BottoneCerca" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</asp:Panel>
Codice
protected void CercaComune_Click(object sender, EventArgs e)
{
String nomeComune = NomeComune.Text;
String regione = DDRegione.SelectedItem.Value;
String provincia = DDProvincia.SelectedItem.Value;
String id_bottone = "";
Comune comune = null;
ComuneController gestioneComuni = new ComuneController();
ArrayList listaComuni = gestioneComuni.CercaComune(regione, provincia, nomeComune, "BASE");
if (listaComuni.Count > 0)
{
IEnumerator iteratore = listaComuni.GetEnumerator();
while (iteratore.MoveNext())
{
comune = (Comune)iteratore.Current;
TableRow riga = new TableRow();
riga.ID = "RIGA_" + comune.Id; ;
riga.CssClass = "td_cell_bottom td_cell_right";
TableCell cellaBottone = new TableCell();
Button bottoneSeleziona = new Button();
id_bottone = "bottone_seleziona_" + comune.Id.ToString();
bottoneSeleziona.ID = id_bottone;
bottoneSeleziona.CssClass = "operazione_ok";
bottoneSeleziona.Click += new EventHandler(bottoneSeleziona_Click);
cellaBottone.Controls.Add(bottoneSeleziona);
riga.Cells.Add(cellaBottone);
TableCell cellaCognome = new TableCell();
cellaCognome.Text = comune.DenominazioneItaliano;
riga.Cells.Add(cellaCognome);
TableCell cellaIstat = new TableCell();
cellaIstat.Text = comune.CodiceCatastale;
riga.Cells.Add(cellaIstat);
TableCell cellaProvincia = new TableCell();
cellaProvincia.Text = comune.SiglaProvincia;
riga.Cells.Add(cellaProvincia);
ComuniTrovati.Rows.Add(riga);
//AGGIUNGO IL TRIGGER
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = id_bottone;
trigger.EventName = "Click";
Pannello.Triggers.Add(trigger);
//AGGIUNGO IL TRIGGER
//registro in ScriptManager
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(bottoneSeleziona);
//registro in ScriptManager
}
}
}
protected void bottoneSeleziona_Click(object sender, EventArgs e)
{
Nome.Text = "AAAA";
}
Grazie in anticipo.
Saluti Vincenzo