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

    url rewriting vb.net 1.1

    Salve a tutti . Sapete dirmi dove posso trovare un esempio sugli url rewriting in asp.net?
    Ho trovato qualcosa ma in c# ed io non ci capisco poco.

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    puoi convertire il codice da c# in vb
    http://www.developerfusion.co.uk/uti...sharptovb.aspx
    I got the remedy

  3. #3

    ho trovato questa soluzione che però mi da errore nel web config

    ho trovato questa soluzione che però mi da errore nel web config per il nome dell' assembly del progetto . Lo stesso accade se modifico nome_assembly_progetto con Assemblyinfo.vb o solo Assemblyinfo

    abbreviare l'url di una nostra pagina:
    www.nomesito.xxx/articolo.aspx?codice=001

    E volevamo utilizzare per chiamare ancora questa pagina l'url più semplice:
    www.nomesito.xxx/articolo001.aspx

    Innanzitutto è necessario modificare il web.config aggiungendo questa sezione:


    <httpHandlers>
    <add verb="*" path="articolo*.aspx" type="MyChangeUrl,Nome_assembly_Progetto" />
    </httpHandlers>
    Quindi si deve creare una nuova classe che implementi l'interfaccia IHttpHandlerFactory:


    Public Class MyChangeUrl
    Implements IHttpHandlerFactory

    Public Function GetHandler(ByVal context As HttpContext, ByVal requestType As String, ByVal url As String, ByVal path As String) As IHttpHandler Implements IHttpHandlerFactory.GetHandler
    Dim pagina As String = context.Request.MapPath("articolo.aspx")
    Return PageParser.GetCompiledPageInstance(url, pagina, context)
    End Function

    Public Sub ReleaseHandler(ByVal handler As IHttpHandler) Implements IHttpHandlerFactory.ReleaseHandler
    End Sub

    End Class
    Adesso ogni pagina richiamata dal browser nel formato "articolo*.aspx" sarà reindirizzata ad "articolo.aspx"

  4. #4

    questo è il resto del codice (lo avevo dimenticato)

    Rimane il problema di prendere il codice dell'articolo interessato visto che esso non sarà più presente nella collection Request. Per far questo dobbiamo modificare la pagina "articolo.aspx" in modo che cerchi il parametro interessato direttamente dall'interno dell'URL:


    sub Page_Load()
    dim codice as string
    codice=System.IO.Path.GetFileNameWithoutExtension( Request.Path).Substring(8)
    ' substring per prendere dal 8 carattere in poi, cioè il codice
    ' senza il suffisso .aspx
    codice=codice.Substring(0,codice.indexOf(".")-1)
    ...
    end sub

    il tutto è alla url

    http://www.aspitalia.com/script/621/...-PostBack.aspx

  5. #5

    BINO GIRA WEB

    girando e rovistando tutti i principali portali di informatica ho trovato questa soluziione che posto sperando che serva:

    http://www.nomesito.xxx/articolo.aspx?codice=001

    trasformabile in

    http://www.nomesito.xxx/articolo001.aspx


    modifica del global.asax, sfruttando l'evento Application_OnBeginRequest:


    Sub Application_OnBeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    Dim context As HttpContext = HttpContext.Current
    Dim oldPath As String = context.Request.Path.ToLower()
    Dim idx As Integer = oldPath.IndexOf("articolo")
    If idx <> -1 Then
    Dim fine As Integer = oldPath.IndexOf(".aspx")
    Dim codice As String = oldPath.Substring(idx + 8, fine - (idx + 8))
    context.RewritePath("articolo.aspx?codice=" + codice)
    End If
    End Sub

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    c'è un articolo sul url rewriting qui su html.it
    I got the remedy

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.