2012-12-05 172 views
-1

可能重複:
Url routing with database lookup?自定義路由在MVC3

我希望建立一個CMS,這將意味着用戶可以將頁面添加到系統中,這將invlolve進入該網址,然後是Rich文本編輯器中的HTML內容。

MVC3路由如何處理?因爲據我所知,Controller/Action方法打的動作,並返回一個View()但如果這個URL Controller/Action在數據庫中,指向的內容存在於一個數據庫

基本上我需要系統檢查路由存在,如果沒有得到來自HTML數據庫並顯示View()

eg /帳號/ EditUser

在我的控制器我有

public ActionResult EditUser(){ 

    return View(); 
} 

public ActionResult LoadCMS(String URL){ 
    // check URL exists in DB 
    // get the html from db 
    // return the Html as a View to the user 
    // if not exists then return error page 
} 

可是我該怎麼辦時,我要求一個CMS頁面:

例如/帳戶/ DisplayUser

在我的控制器中沒有DisplayUser動作,所以去LoadCMS 對不起,我不知道從哪裏開始,所以我沒有代碼給。

任何幫助或方向將不勝感激。

感謝

+0

@CodeCaster你知道的任何示範項目這個的?看起來過於複雜 – CR41G14

回答

0

在我的控制器沒有DisplayUser行動,所以還是LoadCMS對不起,我不知道從哪裏開始對這個所以我沒有代碼給。

據我所知,您需要使用操作DisplayUser顯示用戶信息。所以你可以創建一個如下所示的動作。

public ActionResult DisplayUser(string username){ 
    var userDetails = GetDataFromDatabase(userId); 
    return View("User", userDetails); 
} 

所以這個動作現在可以使用url www.website.com/Users/DisplayUser/yrshaikh假設這個動作是UsersController控制器內,yrshaikh是用戶名到達。

更多的瞭解,你可以嘗試和了解配置文件鏈接的每個用戶有一個計算器,例如像我的是https://stackoverflow.com/users/1182982這裏的用戶標識1182982和控制器名稱爲users(這一點,如果自定義路由做可以是不同的。)

所以,我希望這個信息,你可以開始...