+ Rispondi al Thread
Pagina 1 di 4 123 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39

Discussione: [ASP.Net]Redirect da più database

  1. #1
    ubimaior non è in linea Scolaretto
    Post
    74

    [ASP.Net]Redirect da più database

    Ciao, sto impazzendo dietro a questo problema, spero che qualcuno possa aiutarmi.

    Devo creare una pagina con 2 form, uno in cui si indica il database e l'altro in cui si indica un codice, per esempio un nick. In base a questi dati devo fare il redirect ad una pagina recuperata dal database stesso (ovviamente corrispondente al nick).

    Esempio: nel database lavoro c'è luigi70 che ha questa pagina personale: luis.
    Vuole accedere alla sua pagina e digita nel primo form "lavoro" e nel secondo "luigi70", clicca sol pulsante e si ritrova su luis.
    Spero di essere stato chiaro.
    Grazie in anticipo.

  2. #2
    ubimaior non è in linea Scolaretto
    Post
    74
    Dimenticavo: in asp.NET

  3. #3
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ...una domanda banale se vuoi, ma fondamentale per darti una soluzione:
    1)la tua web application deve effettuare un redirect ad un'altra basandosi su queste due informazioni, ma quest'ultima esiste fisicamente come webroot oppure viene "generato automaticamente"?(non sò se la mia domanda ti risulta chiara)

  4. #4
    ubimaior non è in linea Scolaretto
    Post
    74
    Non so se ho capito ma provo a rispondere a tutte le interpretazioni che ho dato. La pagina esiste e il suo url è in un campo della tabella ovviamente corrispondente al nick. Esempio:
    Database lavoro, tabella1: Campi: nick- url.
    Nei 2 form scrivi il nome del database (tanto tutti i database hanno la tabella con lo stesso nome - es tabella1) e il nick.
    Una funzione (o una sub) recuperano l'url e reindirizzano l'utente.
    Sono riuscito a spiegarmi?
    Purtroppo sono alle prime armi

  5. #5
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ...il funzionamento mi è chiaro, la cosa che non mi è chiara se per ogni url esiste fisicamente il sito?.....cioè se hai 15 url in db hai anche 15 siti distinti(domini, immagini, ecc), web application diverse

  6. #6
    ubimaior non è in linea Scolaretto
    Post
    74
    Si, ciascuno ha un suo sito, un suo dominio.

  7. #7
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ok...allora dopo aver eseguito la query per recuperare l'url dal db per eseguire un redirect:
    codice:
    Response.Redirect( "url recuperato", true)

  8. #8
    ubimaior non è in linea Scolaretto
    Post
    74
    Ehm... ci ho provato ma non riesco.

    Ora non ridete, ho detto che sono alle prime armi, ecco il codice che ho messo (e che non funziona):

    <%@ Page Language="VB" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.OleDb" %>
    <script runat="server">
    ' Definisco la variabile Nome, il nome del database che viene prelevato dal primo textbox
    Dim Nome As String = "Linea.text"

    'Percorso del database (per ora è in una cartella "prove")
    Dim PercorsoDB As String = "../prove/dati/" & _ Nome


    Dim ConnString As String = _
    "Provider=" & _ "Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =" & _ PercorsoDB

    Dim Cn As New OleDbConnection(ConnString)
    Dim dr As OleDbDataReader
    Dim cmd As OleDbCommand
    Dim sql As String

    'Prelevo l'indirizzo dal campo "Url" del database, corrispondente al codice inserito nel secondo textbox
    Dim indirizzo as string = "select Url from membri where Codice = " & Login.text



    Private Sub reindirizza(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Handles Button1.Click
    Response.redirect("indirizzo", true)
    End Sub
    Cn.Open()




    </script>
    <html>
    <head>
    </head>
    <body>
    <form runat="server">

    <!-- textbox in cui si sceglie il database -->
    <asp:TextBox id="linea" runat="server"></asp:TextBox>

    <!-- textbox in cui si sceglie il codice o nick -->
    <asp:TextBox id="Login" runat="server"></asp:TextBox>

    <asp:Button id="Button1" onclick="reindirizza" runat="server" Text="Invia"></asp:Button>


    </form>
    </body>
    </html>

  9. #9
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ...ehm vedo che sei alle prime armi ...prima di tutto separa il codice vb dal codice aspx(c'è la pagina aspx e la controparte vb)....
    ...secondo la variabile indirizzo ha un suo scope(visibilità), il che significa che se vuoi passarla al metodo redirect deve essere a livello di classe(oppure cosa che farei io una property private, ma meglio andare pin piano con te). Quindi se questa è la tua classe:
    codice:
    Partial Public Class _Default
        Inherits System.Web.UI.Page
        
        Private indirizzo As String = String.Empty
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
        End Sub
    End Class
    ....oltre a questo non puoi passare al metodo Redirect la stringa "indirizzo"....il metodo accetta una stringa ma deve essere l'url, quindi la variabile indirizzo(che precedentemente hai settato con il valore proveniente dal db)

    PS: rivedi la parte che recupera l'url dal db praticamente non ti colleghi neanche
    PPS: sul sito html.it esistono delle buone guidee per chi inizia a sviluppare in asp.net
    Ultima modifica di SignIn; 09-02-2008 18:24 

  10. #10
    ubimaior non è in linea Scolaretto
    Post
    74
    Allora, spero che tu abbia pazienza....
    <script runat="server">

    Partial Public Class _Default
    Inherits System.Web.UI.Page

    Private indirizzo As String = String.Empty

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim Nome As String = "Linea.text"

    'Percorso del database (per ora è in una cartella "prove")
    Dim PercorsoDB As String = "../prove/dati/" & Nome


    Dim ConnString As String = "Provider= Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source =" & PercorsoDB

    Dim Cn As New OleDbConnection(ConnString)
    Dim ds as DataSet = new DataSet()
    Dim dr As OleDbDataReader
    Dim cmd As OleDbDataAdapter (select * from membri", cn)

    'Prelevo l'indirizzo dal campo "Url" del database, corrispondente al codice inserito nel secondo textbox
    Dim indirizzo as string = "select Url from membri where Codice = " & Login.text

    cmd.Fill(ds, "membri")

    End Sub
    End Class






    Private Sub reindirizza(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Handles Button1.Click
    Response.redirect("indirizzo", true)
    End Sub
    Cn.Open()

    </script>
    E' un passo avanti o indietro?
    Grazie

+ Rispondi al Thread
Pagina 1 di 4 123 ... ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi