Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Asp.net - vb] - Aprire una pagina nuova da un bottone su un form

    Ho un form con un pò di dati e alla fine una casella di testo e un bottone...
    come faccio a settare un pò di variabili di sessione quando l'utente clicca il bottone e far aprire una nuova pagina??
    ho provato l'action del form ma non mi funziona
    qualcuno ha qualche informazione? ho dimenticato qualcosa???
    Questo èp il codice che ho scritto x il form e x il bottone.

    codice:
    <form id="Form1" action=ciccio.aspx method="post" runat="server"  name=Form1 target="_blank">
    codice:
    <asp:Button runat="server" Text="Ricerca" OnCLick="Search" ID="BtRicerca" />
    il bottone poi fa solo questo

    Public Sub Search(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim Str As String = Replace(txtStr.Text, "'", "''")
    If Len(Trim(Str)) < 3 Then
    Ris.Text = "Inserire un termine da ricrcare di almeno 3 caratteri"
    Else
    Session("strricerca") = Str

    End If
    End Sub
    M.C.P. Visual InterDev

  2. #2

    Re: [Asp.net - vb] - Aprire una pagina nuova da un bottone su un form

    Se vuoi che cliccando il bottone ti reindirizza su un altra pagina modofica la sub in questo modo
    Public Sub Search(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim Str As String = Replace(txtStr.Text, "'", "''")
    If Len(Trim(Str)) < 3 Then
    Ris.Text = "Inserire un termine da ricrcare di almeno 3 caratteri"
    Else
    Session("strricerca") = Str
    Response.Redirect("ciccio.aspx")
    End If
    End Sub
    Se invece vuoi che si apra un'altra finestra devi usare JavaScript
    Spero di esserti stato di aiuto.
    Fammi sapere

  3. #3
    puoi evitare di mettere l'action nel form e fare un semplice redirect direttamente in Search response.redirect("nomepagina.aspx");

  4. #4
    si.. molto...
    un'ultimo problema...

    Se clicco col mouse sul bottone mi apre la pagina e tutto va ok... (anche una nuova)

    se pigio invio da dentro la casella di testo, invece...
    mi fa come il refresh della pagina e non carica quella nuova...
    qualcuno sa come mai??

    qualche soluzione??
    M.C.P. Visual InterDev

  5. #5
    Non so se ho capito bene, potresti provare a fare una sub del bottone all'evento OnKeyPress

  6. #6
    mi dice che non esiste l'evento onkeypress sul button
    M.C.P. Visual InterDev

  7. #7
    Allora non so, prova l'evento command.
    Altrimenti prova a farmi vedere un po del codice

  8. #8
    Questa è l'html

    <form id="Form1" action="risultati.aspx" method="post" runat="server" name="Form1">
    <asp:datagrid id="DataGrid1" runat="server" BorderWidth="0" CellSpacing="1" CellPadding="1" Font-Size="12"
    Font-Name="verdana" AutoGenerateColumns="False" Width="600px">
    <Columns>
    <asp:TemplateColumn HeaderText="Servizio" HeaderStyle-Font-Bold="True" HeaderStyle-Font-Size="12">
    <ItemTemplate>
    <asp:label ID="Servizio" Text='<%# container.dataitem("desc_serv") %>' Runat="server" Font-Size="10">
    </asp:label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Tel." HeaderStyle-Font-Bold="True" HeaderStyle-Font-Size="12">
    <ItemTemplate>
    <asp:label ID="tel" Text='<%# container.dataitem("tel_serv") %>' Runat="server" Font-Size="10">
    </asp:label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Cell." HeaderStyle-Font-Bold="True" HeaderStyle-Font-Size="12">
    <ItemTemplate>
    <asp:label ID="cell" Text='<%# container.dataitem("cell_serv") %>' Runat="server" Font-Size="10">
    </asp:label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="E-Mail" HeaderStyle-Font-Bold="True" HeaderStyle-Font-Size="12">
    <ItemTemplate>
    <asp:label ID="mail" Runat="server" Font-Size="10">
    <%# container.dataitem("mail_serv") %>
    </asp:label>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>



    <asp:TextBox id="txtStr" runat="server" />
    <asp:Button runat="server" Text="Ricerca" OnClick="Search" ID="BtRicerca" />




    <asp:Label id="Ris" runat="server" />


    </form>


    e questo parte del codice dietro...

    Public Sub Search(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
    Dim Str As String = Replace(txtStr.Text, "'", "''")
    If Len(Trim(Str)) < 3 Then
    Ris.Text = "Inserire un termine da ricrcare di almeno 3 caratteri"
    Else
    Session("strricerca") = Str
    Response.Redirect("risultati.aspx")
    End If
    End Sub
    Public Sub Popola_Servizi_Comuni()
    Dim Conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
    Dim Ds As DataSet
    Dim StrSql As String
    StrSql = "SELECT * FROM elenco_tel_serv_com where visibile = 1 order by ordine"
    Dim StrCmdSql As New SqlClient.SqlDataAdapter(StrSql, Conn)

    Conn.Open()
    Ds = New DataSet
    StrCmdSql.Fill(Ds, "Serv_comuni")
    Dim Source As DataView = Ds.Tables("Serv_comuni").DefaultView
    DataGrid1.DataSource = Source
    DataGrid1.DataKeyField = "id_serv"
    DataGrid1.DataBind()
    Conn.Close()
    End Sub

    Public Sub Crea_Tabella_Personale()
    Dim Conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
    Dim ServizioDR As SqlClient.SqlDataReader
    Dim CodServizio As Integer
    Dim CodSezione As Integer
    Dim StrSql As String
    StrSql = "SELECT * FROM elenco_tel_servizi where visibile = 1 order by ordine"
    Dim StrCmdSql As New SqlClient.SqlCommand(StrSql, Conn)
    Conn.Open()
    ServizioDR = StrCmdSql.ExecuteReader
    CodServizio = 0
    CodSezione = 0
    Response.Write("<table width=600>")
    Do While ServizioDR.Read
    'TESTATA DEL SERVIZIO
    CodServizio = CInt(ServizioDR.Item(0))
    Response.Write("<tr><td colspan=4 align=center><font face='verdana' size='3'>" & ServizioDR.Item(1) & "</font></td></tr>")
    Response.Write("<tr><td colspan=4 align=left><font face='verdana' size='2'>" & ServizioDR.Item(4) & "</font></td></tr>")
    Response.Write("<tr><td><font face='verdana' size='2'>" & ServizioDR.Item(3) & "</font></td><td><font face='verdana' size='2'>" & ServizioDR.Item(5) & "</font></td><td><font face='verdana' size='2'>" & ServizioDR.Item(6) & "</font></td><td><font face='verdana' size='2'>" & ServizioDR.Item(7) & "</font></td></tr>")
    Response.Write("<tr><td colspan=4 align=center></td></tr>")

    'PERSONALE ASSEGNATO AL SERVIZIO
    Dim Conn2 As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
    Dim PersonaleDr As SqlClient.SqlDataReader
    Dim StrSql2 = "SELECT * From elenco_tel_personale WHERE codice_servizio_personale = " & CodServizio & " and visibile = 1 order by ordine, nome_personale"
    Dim StrCmdSql2 As New SqlClient.SqlCommand(StrSql2, Conn2)
    Conn2.Open()
    PersonaleDr = StrCmdSql2.ExecuteReader

    Do While PersonaleDr.Read
    CodSezione = CInt(PersonaleDr.Item(0))
    Response.Write("<tr><td colspan=4 align=left><font face='verdana' size='2'>Personale</font></td></tr>")
    If PersonaleDr.Item(3) <> " " Or PersonaleDr.Item(3) <> "" Then
    Response.Write("<tr><td colspan=4 align=left><font face='verdana' size='2'>" & PersonaleDr.Item(3) & "</font></td></tr>")
    End If
    Response.Write("<tr><td><font face='verdana' size='2'>" & PersonaleDr.Item(1) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr.Item(5) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr.Item(6) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr.Item(7) & "</font></td></tr>")
    Loop
    If PersonaleDr.HasRows Then
    Response.Write("<tr><td colspan=4 align=center></td></tr>")
    End If
    PersonaleDr.Close()
    PersonaleDr = Nothing
    Conn2.Close()

    'SEZIONI DEL SERVIZIO
    Dim Conn1 As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
    Dim SezioneDr As SqlClient.SqlDataReader
    Dim StrSql1 = "SELECT * From elenco_tel_sezioni WHERE codice_servizio = " & CodServizio & " and visibile = 1 order by ordine, nome_sezione"
    Dim StrCmdSql1 As New SqlClient.SqlCommand(StrSql1, Conn1)
    Conn1.Open()
    SezioneDr = StrCmdSql1.ExecuteReader
    Do While SezioneDr.Read
    CodSezione = CInt(SezioneDr.Item(0))
    Response.Write("<tr><td colspan=4 align=center><font face='verdana' size='2'>Sezione " & SezioneDr.Item(1) & "</font></td></tr>")
    Response.Write("<tr><td colspan=4 align=left><font face='verdana' size='2'>" & SezioneDr.Item(4) & "</font></td></tr>")
    Response.Write("<tr><td><font face='verdana' size='2'>" & SezioneDr.Item(3) & "</font></td><td><font face='verdana' size='2'>" & SezioneDr.Item(6) & "</font></td><td><font face='verdana' size='2'>" & SezioneDr.Item(7) & "</font></td><td><font face='verdana' size='2'>" & SezioneDr.Item(8) & "</font></td></tr>")
    Response.Write("<tr><td colspan=4 align=center></td></tr>")

    'PERSONALE ASSEGNATO ALLA SEZIONE
    Dim Conn3 As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
    Dim PersonaleDr1 As SqlClient.SqlDataReader
    Dim StrSql3 = "SELECT * From elenco_tel_personale WHERE codice_sezione_personale = " & CodSezione & " and visibile = 1 order by ordine, nome_personale"
    Dim StrCmdSql3 As New SqlClient.SqlCommand(StrSql3, Conn3)
    Conn3.Open()
    PersonaleDr1 = StrCmdSql3.ExecuteReader
    Do While PersonaleDr1.Read
    'Response.Write("<tr><td colspan=4 align=left><font face='verdana' size='2'>Personale</font></td></tr>")
    Response.Write("<tr><td><font face='verdana' size='2'>" & PersonaleDr1.Item(1) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr1.Item(5) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr1.Item(6) & "</font></td><td><font face='verdana' size='2'>" & PersonaleDr1.Item(7) & "</font></td></tr>")
    Loop
    Response.Write("<tr><td colspan=4 align=center></td></tr>")
    PersonaleDr1.Close()
    PersonaleDr1 = Nothing
    Conn3.Close()

    Loop
    SezioneDr.Close()
    SezioneDr = Nothing
    Conn1.Close()

    Loop
    ServizioDR.Close()
    ServizioDR = Nothing
    Response.Write("</table>")
    Conn.Close()
    Response.Write("


    ")
    End Sub
    M.C.P. Visual InterDev

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    scrivi il codice tra i tag code per una maggiore leggibilità ..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.