2010-10-14 24 views
1

我遇到了麻煩,我應該在標題字段中列出這個名稱...asp.net mvc 2,通過路由字符串選擇內容

問題是。我想通過輸入其標題來選擇一個博客帖子,如下所示: http://localhost:3254/blog/2010/10/net-programming

博文的標題應該是「.net programming」。所以我已經設置了一個月尋找一年的路線,最後是一個字符串。但是,我應該如何將它保存在數據庫中以便能夠搜索它? 我應該添加一個字段,如id,其中包含asp編程?或者我應該爲每個搜索解析標題?或者我應該轉換標題,然後在將其顯示給用戶之前將其轉換回來?

回答

2

標準方法是在數據庫中創建一個單獨的列(通常稱爲'slug'或永久鏈接),該列存儲可由Urls使用的html友好名稱。然後,如果帖子的標題發生變化,您通常會保持slu the一致,以便任何擁有該鏈接書籤的人仍可以找到該帖子。我們通常默認的博客標題的價值,替換空格 - 並刪除任何非網址友好字符。

http://en.wikipedia.org/wiki/Slug_%28web_publishing%29

0

有兩種可能的解決方案,我能想到的

  • 創建自己的路由處理程序和它的代碼中,在數據庫
  • 搜索的實際記錄在接受一個控制器創建的操作方法字符串參數,並調用該參數id(或任何默認值在您的MapRoutes方法中)。