Fondamentalmente ho un backend CMS che ho creato utilizzando ASP.NET MVC e ora sto passando al sito frontend e devo essere in grado di caricare pagine dal mio database cms, in base al percorso inserito.Rotte dinamiche dal database per ASP.NET MVC CMS
Quindi, se l'utente inserisce domain.com/students/information, MVC cerca nella tabella delle pagine per vedere se esiste una pagina che ha un permalink che corrisponde a studenti/informazioni, in tal caso reindirizzerà al controller di pagina e quindi caricare i dati della pagina dal database e restituirli alla vista per la visualizzazione.
Finora ho provato ad avere una cattura su tutto il percorso, ma funziona solo per due segmenti di URL, quindi/studenti/informazioni, ma non/studenti/informazioni/caduta. Non riesco a trovare nulla online su come realizzare questo, quindi, anche se vorrei chiedere qui, prima di trovare e aprire il codice ASP.NET MVC cms e sezionare il codice.
Ecco la configurazione del percorso che ho finora, ma sento che c'è un modo migliore per farlo.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// Default route to handle core pages
routes.MapRoute(null,"{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new { controller = "Index" }
);
// CMS route to handle routing to the PageController to check the database for the route.
var db = new MvcCMS.Models.MvcCMSContext();
//var page = db.CMSPages.Where(p => p.Permalink ==)
routes.MapRoute(
null,
"{*.}",
new { controller = "Page", action = "Index" }
);
}
Se qualcuno mi può puntare nella giusta direzione su come andrei sul caricamento di pagine CMS dal database, con un massimo di tre segmenti di URL, e ancora in grado di caricare le pagine di base, che hanno un controller e azione predefinita.
Grazie mille, proverò e segnerò come risposta se funziona. :) –
Impressionante ha funzionato benissimo, ho dovuto solo aggiungere un controllo if (values [parameterName]! = Null), ma per il resto perfetto! Grazie :) –
sei il benvenuto. felice che ha funzionato. :) – shakib