Visualizzazione dei risultati da 1 a 10 su 10

Discussione: asp -->asp.net

  1. #1
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154

    asp -->asp.net

    Ciao a tutti sto cercando di migrare 1 applicazione da asp a .net ma ho qualche problema con il codice sottostante che in sostanza riproduce un menu... c'è qualche buon samaritano che mi dia delle dritte?
    if IsNumeric(parent_id) then
    parent_id = cint(parent_id)
    end if
    if IsNumeric(cat_id) then
    cat_id = cint(cat_id)
    end if

    set rsSubMenu = server.createobject("ADODB.recordset")
    rsSubMenu.cursortype = 3

    strSQL = "SELECT menu_id, menu_parent_id, menu_name FROM menu ORDER BY menu_name ASC;"
    rsSubMenu.open strSQL, adoCon

    set rsMenu = server.createobject("ADODB.recordset")
    rsMenu.cursortype = 3

    strSQL = "SELECT menu_id, menu_parent_id, menu_name FROM menu ORDER BY menu_name ASC;"
    rsMenu.open strSQL, adoCon

    rsMenu.Filter = "menu_parent_id = 0"

    do while not rsMenu.eof
    if cat_id = rsMenu("menu_id") OR parent_id = rsMenu("menu_id") then
    response.write("»" & rsMenu("menu_name") & "
    " & chr(13))
    rsSubMenu.filter = "menu_parent_id = " & rsMenu("menu_id")
    do while not rsSubMenu.eof
    if cat_id = rsSubmenu("menu_id") then
    response.write("»" & rsSubMenu("menu_name") & "
    " & chr(13))
    else
    response.write("»" & rsSubMenu("menu_name") & "
    " & chr(13))
    end if
    rsSubMenu.movenext
    loop
    else
    response.write("»" & rsMenu("menu_name") & "
    " & chr(13))
    end if
    rsMenu.movenext
    loop

    rsSubMenu.close
    set rsSubMenu = nothing

    rsMenu.Close
    set rsMenu = nothing

  2. #2
    Ti ricordo che su un WebServer 2003 con IIS 6 gira sia ASP Classic che ASP.NET

    Comunque devi apportare radicali modifiche :

    • Non esiste piu' ADODB ma si usa ADO.NET
    • Per operazioni cosi' complesse si usa il writer e non tanti response.write
    • Io personalmente creerei uno user control (.ascx)


    Questo se vuoi trasformare in tecnologia .NET

  3. #3
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Ciao Raffaeu so benissimo che sia ASP che ASP.NET possono coesistere, e non solo su w2k3

    so pure che dovrò utilizzare ADO.NET


    ho utilizzato uno user control (menu.ascx) con una label, ma è la traduzione che mi risulta macchinosa, per il reordset del sub menu...

  4. #4
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ..ok ecco quello che sono riuscito a partorire con gran dolore...
    cat_id = Request.QueryString("cat_id")
    Dim myConnection As MySqlConnection = New MySqlConnection(ConfigurationSettings.AppSettings( "ConnectionString"))
    Dim myCommand As MySqlCommand = New MySqlCommand("SELECT id_categoria, nome_categoria, parent_categoria FROM T_categorie WHERE parent_categoria=0 ORDER BY nome_categoria ", myConnection)
    myConnection.Open()
    Dim result As MySqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConne ction)
    Do While result.Read
    Me.Lblmenu.Text += "" & result("nome_categoria") & "
    "
    If result("id_categoria") = cat_id Then
    Dim myConnection1 As MySqlConnection = New MySqlConnection(ConfigurationSettings.AppSettings( "ConnectionString"))
    Dim myCommand1 As MySqlCommand = New MySqlCommand("SELECT id_categoria, nome_categoria, parent_categoria FROM T_categorie WHERE parent_categoria=" & cat_id & " ORDER BY nome_categoria ", myConnection1)
    myConnection1.Open()
    Dim result1 As MySqlDataReader = myCommand1.ExecuteReader(CommandBehavior.CloseConn ection)
    Do While result1.Read
    Me.Lblmenu.Text += "" & result1("nome_categoria") & "
    "
    Loop
    End If
    Loop
    sebbene sia funzionante...vi prego ditemi che c'è qualche altra soluzione...

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    beh potresti creare uno usercontrol a cui imposti una collection di nomipagine/links gestendo la connessione al db (per la quale ti consiglio di creare un layer di accesso) dalle pagine che lo ospitano...

  6. #6
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Originariamente inviato da djciko
    beh potresti creare uno usercontrol a cui imposti una collection di nomipagine/links
    beh questo è già uno user control (menu.ascx)

    Originariamente inviato da djciko
    gestendo la connessione al db (per la quale ti consiglio di creare un layer di accesso) dalle pagine che lo ospitano...
    ...me lo traduci??

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    intendevo una classe che si occupa di restituirti oggetti come dataset dataview datatable etc

  8. #8
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ...si ok sicuramente è migliorabile inserendo l'accesso ai dati in una classe e la query in una SP , quello che intendevo dire se è possibile evitare questi cicli in altri modi...

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    usando, per esempio, il dataset...si. Ciclando sulle sue collection Columns e Rows.

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    scusami intendevo il datatable con quelle collections

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 © 2025 vBulletin Solutions, Inc. All rights reserved.