Ciao a tutti!
Ho una pagina dove viene visualizzata un anagrafica di una azienda, tramite un id che passo nel link, visualizzo i dati dell'azienda
In questa pagina nel load mi carico i dati e li scrivo nelle varie textbox.
Sono presenti anche 3 dropdownlist per regione, provincia, comune; sono concatenate dove se si seleziona una determinata regione, nella dropdown delle province si popolerà con le rispettive province, stessa cosa per i comuni.
Quando eseguo per la prima volta la pagina mi popola coirrettamente le text e le dropdown, ma se provo a cambiare la regione, la pagina si ricarica (perchè deve popolare la dropdown delle province) e seleziona la regione salvata nel db e non quella appena selezionata.
Ecco il codice di modifica_anagrafica.aspx
Ecco il codice di modifica_anagrafica.aspx.vbcodice:<fieldset class="register"> <legend>Informazioni account</legend> <table border="0" cellpadding="3"> <tr> <td> <asp:Label ID="Label1" runat="server" AssociatedControlID="Ragione_sociale" Width="150px">Reagione Sociale*:</asp:Label> </td> <td> <asp:TextBox ID="Ragione_sociale" runat="server" Width="350px" MaxLength="200"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Ragione_sociale" CssClass="failureNotification" ErrorMessage="La Ragione Sociale è obbligatoria." ToolTip="La Ragione Sociale è obbligatoria." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="Label2" runat="server" AssociatedControlID="Forma_giuridica">Forma giuridica*:</asp:Label> </td> <td> <asp:DropDownList ID="Forma_giuridica" runat="server" DataSourceID="SqlDataSource1" DataTextField="forma" DataValueField="id" Width="350px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [FORME_GIURIDICHE] ORDER BY [forma]"> </asp:SqlDataSource> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Forma_giuridica" CssClass="failureNotification" ErrorMessage="La Forma giuridica è obbligatoria." ToolTip="La Forma giuridica è obbligatoria." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="Label3" runat="server" AssociatedControlID="Codice_fiscale">Codice fiscale*:</asp:Label> </td> <td> <asp:TextBox ID="Codice_Fiscale" runat="server" Width="350px" MaxLength="50"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Codice_fiscale" CssClass="failureNotification" ErrorMessage="Il Codcie fiscale è obbligatorio." ToolTip="Il Codice fiscale è obbligatorio." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="Label4" runat="server" AssociatedControlID="Codice_fiscale">Regione:</asp:Label> </td> <td> <asp:DropDownList ID="Regione" runat="server" DataSourceID="SqlDataSource2" DataTextField="regione" DataValueField="id" Width="350px" AutoPostBack="true" AppendDataBoundItems="true"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [REGIONI] ORDER BY [regione]"> </asp:SqlDataSource> </td> </tr> <tr> <td> <asp:Label ID="Label5" runat="server" AssociatedControlID="Provincia">Provincia:</asp:Label> </td> <td> <asp:DropDownList ID="Provincia" runat="server" DataSourceID="SqlDataSource3" DataTextField="provincia" DataValueField="id" AutoPostBack="true" AppendDataBoundItems="true" Width="350px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [PROVINCIE] WHERE n_regione=@regione ORDER BY [provincia]"> <SelectParameters> <asp:ControlParameter Name="regione" ControlID="Regione" PropertyName="SelectedValue"/> </SelectParameters> </asp:SqlDataSource> </td> </tr> <tr> <td> <asp:Label ID="Label6" runat="server" AssociatedControlID="Comune">Comune*:</asp:Label> </td> <td> <asp:DropDownList ID="Comune" runat="server" DataSourceID="SqlDataSource4" DataTextField="comune" DataValueField="id" Width="350px" AppendDataBoundItems="true"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [COMUNI] WHERE n_provincia=@provincia ORDER BY [comune]"> <SelectParameters> <asp:ControlParameter Name="provincia" ControlID="Provincia" PropertyName="SelectedValue"/> </SelectParameters> </asp:SqlDataSource> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="Comune" CssClass="failureNotification" ErrorMessage="Il Comune è obbligatorio." ToolTip="Il Comune è obbligatorio." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="Label7" runat="server" AssociatedControlID="Indirizzo">Indirizzo sede legale*:</asp:Label> </td> <td> <asp:TextBox ID="Indirizzo" runat="server" Width="350px"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="Indirizzo" CssClass="failureNotification" ErrorMessage="L'Indirizzo della sede legale è obbligatorio." ToolTip="L'Indirizzo della sede legale è obbligatorio." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="Label8" runat="server" AssociatedControlID="Email">Email*:</asp:Label> </td> <td> <asp:TextBox ID="Email" runat="server" Width="350px"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="Email" CssClass="failureNotification" ErrorMessage="Email obbligatoria." ToolTip="Email obbligatoria." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Email" CssClass="failureNotification" ErrorMessage="Email non corretta." ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ToolTip="Email non corretta." ValidationGroup="LoginUserValidationGroup">*</asp:RegularExpressionValidator > </td> </tr> <tr> <td> <asp:Label ID="Label9" runat="server" AssociatedControlID="Note">Note:</asp:Label> </td> <td> <asp:TextBox ID="Note" runat="server" Width="350px" TextMode="MultiLine" Height="163px"></asp:TextBox> </td> </tr> </table> </fieldset> <div class="submitButton"> <asp:Button ID="Button1" runat="server" Text="Annulla" PostBackUrl="~/reserved/Anagrafiche.aspx" /> <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Salva" ValidationGroup="LoginUserValidationGroup" Width="60px" /> </div>
nella dropdown delle regioni ho inserito AutoPostBack="true" AppendDataBoundItems="true"codice:Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load indice = Request.QueryString("id") 'CARICO I DATI DELL'AZIENDA SELEZIONATA Dim SQL As String Dim disattivato As Boolean = True SQL = "SELECT * FROM AZIENDE WHERE id=@id;" Dim cmd As SqlCommand cmd = New SqlCommand(SQL, New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ToString)) Try With cmd.Parameters .Add("@id", SqlDbType.NVarChar, 50) End With cmd.Parameters("@id").Value = indice 'APRE LA CONNESSIONE cmd.Connection.Open() 'ESEGUE NLA QUERY, RESTITUISCE UN OGGETTO SqlDataReader Dim dr As SqlDataReader = (cmd.ExecuteReader(CommandBehavior.CloseConnection)) If dr.HasRows Then 'si sposta ciclicamente attraverso i record e visualizza i valori. Do While dr.Read Ragione_sociale.Text = dr("ragione_sociale") Codice_Fiscale.Text = dr("codice_fiscale") If IsDBNull(dr("n_forma_giuridica")) Then Forma_giuridica.SelectedValue = 1 Else Forma_giuridica.SelectedValue = dr("n_forma_giuridica") End If If IsDBNull(dr("n_regione")) Then Regione.SelectedValue = 1 Else Regione.SelectedValue = dr("n_regione") End If If IsDBNull(dr("n_provincia")) Then Provincia.SelectedValue = 1 Else Provincia.SelectedValue = dr("n_provincia") End If If IsDBNull(dr("n_comune")) Then Comune.SelectedValue = 1 Else Comune.SelectedValue = dr("n_comune") End If Indirizzo.Text = dr("indirizzo") Email.Text = dr("email") Note.Text = dr("note_azienda") Loop Else 'MsgBox("Utente e/o password errati", vbCritical, "ERRORE") End If dr.Close() Catch ex As Exception 'messageBox.Show("Riportare il seguente errore al programmatore: ERRORE 0161" & vbCrLf & ex.Message, "Errore sql") Exit Sub Finally cmd.Connection.Close() End Try End Sub
nelle province AutoPostBack="true" AppendDataBoundItems="true"
nei comuni AppendDataBoundItems="true"
Grazie
Ciao
![]()

Rispondi quotando