126 messaggi dal 05 agosto 2013
usando visual studio (2017), quando si crtea un nuovo progetto, l'applicativo mette già a disposizione un progetto base di partenza. Tra le altre cose mette a disposizione site master e site master mobile (nel caso si usi uno smartphone).
Vorrei risalire alla parte del codice del progetto dove si decide quale master page usare in base al dispositivo usato.
Spero di essere stato chiaro
333 messaggi dal 05 novembre 2012
Ciao Amedeo,

all'interno del progetto non c'è una parte di codice dove puoi vedere chiaramente come avviene la scelta, il tutto avviene dietro le quinte...

App_Start\RouteConfig.vb
Public Module RouteConfig
    Sub RegisterRoutes(ByVal routes As RouteCollection)
        Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings() With {
            .AutoRedirectMode = RedirectMode.Permanent
        }
        routes.EnableFriendlyUrls(settings)
    End Sub
End Module


Tramite routes.EnableFriendlyUrls(settings) viene utilizzata la classe Microsoft.AspNet.FriendlyUrls.Resolvers.WebFormsFriendlyUrlResolver ed è proprio in quest'ultima che avviene il controllo del client e la scelta.

Guardando il messaggio 422846 intuisco che il tuo problema è come disabilitare questo meccanismo? corretto?

In tal caso guarda qui

Fondamentalmente devi creare la tua classe WebFormsFriendlyUrlResolver (che eredita da Microsoft.AspNet.FriendlyUrls.Resolvers.WebFormsFriendlyUrlResolver), sovrascrivere il metodo TrySetMobileMasterPage ed aggiornare routes.EnableFriendlyUrls dicendogli di utilizzare la tua classe appena creata

/Ciao

Alessio
126 messaggi dal 05 agosto 2013
Scusa la banalità, ma dove trovo MyWebFormsFriendlyUrlResolver da modificare secondo quanto segnalato nell'articolo che mi hai suggerito?
333 messaggi dal 05 novembre 2012
f.amedeo ha scritto:
Scusa la banalità, ma dove trovo MyWebFormsFriendlyUrlResolver da modificare secondo quanto segnalato nell'articolo che mi hai suggerito?


MyWebFormsFriendlyUrlResolver non la devi trovare, è una classe che devi creare da zero all'interno del tuo progetto

E' il tuo custom resolver dove all'interno metti tutta la logica che serve per il tuo contesto...in questo caso (oltre a capire cosa sta facendo) puoi fare un copia incolla di quello che trovi nella pagina che ti ho segnalato

Alessio
126 messaggi dal 05 agosto 2013
Qualcosa (e forse più di qualcosa mi sfugge).
Ho creato in un file vb la classe copiandola integralmente dalla pagina che mi hai suggerito. Il file l'ho salvato allo stesso livello gerarchico della page master.
Poi ho modificato la routeconfig.vb sempre secondo quanto detto nella pagina.
Faccio il test sullo smartphone ma la default.aspx non carica la masterpage, dove ad esempio c'è tutta la navbar.
Dove sbaglio?
333 messaggi dal 05 novembre 2012
Ma il problema è solo la navbar o riscontri la mancanza di altro?

Per la navbar non vedi in altro a destra un pulsante fatto di linee?

UPDATE:

Oggi mi sono fatto traviare dalla fretta e dalla tua domanda iniziale, ho riletto questo post e l'altro e fatto delle prove con il link che ti ho segnalato e non riscontro nessun problema, tra l'altro ho provato a cancellare direttamente i file dal progetto e non riscontro neanche il problema che ha sollevato l'autore dell'articolo (curioso magari Moreno sà qualcosa di più merito)...

Per la tua esigenza attuale puoi tranquillamente evitare il custom Resolver e procedere con la sola cancellazione dei due file Site.Mobile.Master e ViewSwitcher.ascx

Il problema che non vedi la navbar dipende da altro e per quello dacci riscontro alle domande all'inizio di questo post

/Ciao
Modificato da scioCoder il 13 marzo 2019 19:56 -

Alessio
126 messaggi dal 05 agosto 2013
Se cancello semplicemente i file specificati, ho la netta sensazione che la default.aspx non carica la site master.
E il pulsantino con le lineette non c'è.
Modificato da f.amedeo il 13 marzo 2019 23:13 -
333 messaggi dal 05 novembre 2012
f.amedeo ha scritto:
Se cancello semplicemente i file specificati, ho la netta sensazione che la default.aspx non carica la site master.

Ma hai provato o è solo una sensazione?
Se visualizzi la pagina default significa che trova correttamente la master page
Se in una pagina è referenziata una master page e quest'ultima non esiste l'applicativo va in errore

E il pulsantino con le lineette non c'è.

Ti ho fatto questa domanda perchè penso che il problema è che la navbar esiste come html ma non lo stai visualizzando per qualcosa di strano lato css...conosci i developer tools dei browser? hai mai utilizzato tasto destro -> ispeziona elemento?

/Ciao

Alessio

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.