2011-06-22 60 views
3

我有一種CMS應用程序允許創建內容頁面併爲它們指定url。 我想,讓用戶輸入任何網址,如:如果頁面url存儲在數據庫中,MVC路由

/Documents/Forms/MyForm 
/Documents/Manuals/MyManual 
/Events/BBQThisWeek 

然後我需要創建,如果在數據庫中,如果是存在與給定URL的內容頁面,將檢查的路線,將路線控制器處理內容頁面。如果不是,它將繼續使用默認路由。

怎樣運用呢? 謝謝 V.

回答

0

您將很可能必須設置自定義處理程序。看看選項三here

你可以從數據庫讀取動作調用者。

0

創建一個擴展路由

public class CustomRoute : Route 
{ 

    public override RouteData GetRouteData(System.Web.HttpContextBase httpContext) 
    { 
     var routeData = base.GetRouteData(httpContext); 
     if(routeData != null) 
     { do some stuff on routeData... } 
     return routeData; 
    } 

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) 
    { 
     // Do the opposite of the first function 
    } 
} 

編輯: 最簡單的方法就是延長Route和使用base.GetRouteData然後將數據令牌「控制器」和「行動」只是改變你想要什麼