Salve, sto sviluppando una piccola rubrica telefonica per cercare di capire come funziona il formview ed i template. Vengo al mio quesito. All'interno della mia formview ho 2 dropdownlist, una elenca le regioni mentre l'altra elenca i comuni filtrati per regione. Quindi se nella prima seleziono "sicilia" nella seconda elenco solo i comuni della sicilia. bene, non riesco ad aggiornare il ddl dei comuni mi risulta sempre vuoto. Quello che non mi quadra è che comunque non mi da nessun errore. Ho provato a visualizzarmi la stringa sql per l'aggiornamento e questa risulta corretta. Non capisco, potete aiutarmi?
Posto un pò di codice:
Questo la parte asp:
<div id="corpo">
<asp:ScriptManager id="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel id="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width: 100%; height: 500px">
<tr>
<td></td>
<td style="height: 22px; width: 925px;" class="auto-style1">
</td>
<td></td>
</tr>
<tr>
<td class="auto-style8" >
</td>
<td style="width: 925px; height: 391px">
<asp:FormView ID="FormView1" runat="server" DataKeyNames="IDIndirizzo" DataSourceID="SqlDataSource_RubricaTelefonica" Width="100%" DefaultMode="Insert" style="text-align: left; color:#003366; font-size: small;">
<InsertItemTemplate>
<span class="auto-style9">Azienda </span>
<asp:TextBox ID="AziendaTextBox" runat="server" Text='<%# Bind("Azienda") %>' CssClass="auto-style7" Width="90%" />
<br class="auto-style9" />
<span class="auto-style9">Indirizzo </span>
<asp:TextBox ID="IndirizzoTextBox" runat="server" Text='<%# Bind("Indirizzo") %>' CssClass="auto-style7" Width="90%" />
<br />
<span class="auto-style9">Regione
<asp:DropDownList ID="RegioneTextBox" runat="server" AutoPostBack="True" CssClass="auto-style7" DataSourceID="SqlDataSource_Regione" DataTextField="Regione" DataValueField="Regione" OnTextChanged="cmdRegione_Click" Width="250px">
</asp:DropDownList>
</span>
<span class="auto-style9">Paese </span>
<asp:TextBox ID="PaeseTextBox" runat="server" Text='<%# Bind("Paese") %>' CssClass="auto-style7" Width="200px" />
<br />
<span class="auto-style9">Comune
<asp:DropDownList ID="ComuneTextBox" runat="server" AutoPostBack="True" CssClass="auto-style7" DataSourceID="SqlDataSourceComune" DataTextField="Comune" DataValueField="Comune" OnTextChanged="cmdComune_Click" Width="300px">
</asp:DropDownList>
</span>
<span class="auto-style9">CAP </span>
<asp:TextBox ID="CAPTextBox" runat="server" Text='<%# Bind("CAP") %>' CssClass="auto-style7" Width="100px" />
<span class="auto-style9"> Provincia </span>
<asp:TextBox ID="ProvinciaTextBox" runat="server" Text='<%# Bind("Provincia") %>' CssClass="auto-style7" Width="50px" />
<br class="auto-style9" />
<span class="auto-style9">Sito </span>
<asp:TextBox ID="SitoTextBox" runat="server" Text='<%# Bind("Sito") %>' CssClass="auto-style7" Width="500px" />
<span class="auto-style9">Fax </span>
<asp:TextBox ID="FaxTextBox" runat="server" CssClass="auto-style7" Text='<%# Bind("Fax") %>' />
<br class="auto-style9" />
<span class="auto-style9">Note
<asp:TextBox ID="NoteTextBox" runat="server" CssClass="auto-style7" Text='<%# Bind("Note") %>' TextMode="MultiLine" Width="90%" />
</span>
<br class="auto-style9" />
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Inserisci" />
<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Annulla" />
</InsertItemTemplate>
<InsertRowStyle Font-Names="Tekton Pro Ext,Small" />
</asp:FormView>
<asp:SqlDataSource ID="SqlDataSource_RubricaTelefonica" runat="server" ConnectionString="<%$ ConnectionStrings:ProvaConnectionString %>" InsertCommand="INSERT INTO T_RubricaNomeAzienda(Azienda, Indirizzo, Comune, CAP, Provincia, Regione, Paese, Sito, Note, Fax) VALUES (@Azienda, @Indirizzo, @Comune, @CAP, @Provincia, @Regione, @Paese, @Sito, @Note, @Fax)" SelectCommand="SELECT * FROM T_RubricaNomeAzienda">
<InsertParameters>
<asp:Parameter Name="Azienda" />
<asp:Parameter Name="Indirizzo" />
<asp:Parameter Name="Comune" />
<asp:Parameter Name="CAP" />
<asp:Parameter Name="Provincia" />
<asp:Parameter Name="Regione" />
<asp:Parameter Name="Paese" />
<asp:Parameter Name="Sito" />
<asp:Parameter Name="Note" />
<asp:Parameter Name="Fax" />
</InsertParameters>
</asp:SqlDataSource>
</td>
<td style="height: 391px"></td>
</tr>
<tr>
<td class="auto-style9" >
</td>
<td style="width: 925px">
<asp:SqlDataSource ID="SqlDataSourceComune" runat="server" ConnectionString="<%$ ConnectionStrings:ProvaConnectionString %>" SelectCommand="SELECT [Comune], [Prov], [Cap], [Area_Nielsen] FROM [LookUp_ComuneCapProvinciaRegioneArea] WHERE ([Regione] = @Regione)">
<SelectParameters>
<asp:ControlParameter ControlID="FormView1" Name="Regione" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource_Regione" runat="server" ConnectionString="<%$ ConnectionStrings:ProvaConnectionString %>" SelectCommand="SELECT Regione FROM LookUp_ComuneCapProvinciaRegioneArea GROUP BY Regione ORDER BY Regione"></asp:SqlDataSource>
</td>
<td >
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
Questa la parte vb per effettuare l'aggiornamento del ddl dei comuni:
Sub cmdRegione_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim strSQL As String
Dim ddlTemp As DropDownList = DirectCast(FormView1.FindControl("RegioneTextBox"), DropDownList)
Dim xRegione As String = ddlTemp.SelectedItem.Value
strSQL = "SELECT * FROM [LookUp_ComuneCapProvinciaRegioneArea] WHERE ([Regione] = '" & xRegione & "')"
SqlDataSourceComune.SelectCommand = strSQL
SqlDataSourceComune.DataBind()
Dim Comune As DropDownList = DirectCast(FormView1.FindControl("ComuneTextBox"), DropDownList)
Comune.DataBind()
End Sub