[英]Dynamic pages with dynamic content
我已經為我擁有的網站構建了一個非常簡單的內容管理器。 對於每個頁面,用戶都可以使用管理工具控制顯示的內容。
現在,我的客戶希望能夠添加整個頁面。 現在,我必須創建一個新頁面,然后他們可以 go 並編輯該頁面的內容。 但他們不想再這樣做了,他們想創建自己的,而不必來找我。 他們也希望頁面的名稱保持一致——所以如果他們創建一個“關於”頁面,它將是mysite.com/about而不是mysite.com/dynamicpage/8 。
考慮到已經有一個強大的管理后端,我需要能夠在不使用第三方 CMS 的情況下做到這一點。 有沒有關於如何做到這一點的教程?
我正在使用 ASP.NET MVC 2、.NET 4.0。
這里有一個簡單的解決方案(您可能應該對其進行一些自定義):
只需在 ContentController 或其他東西上創建一個包含變量(比如 pageName 或其他東西)的路由。 又名 (mysite.com/content/{pageName})。 您的操作方法獲取頁面名稱,然后通過數據庫加載 HTML。 然后它只是將 HTML 作為內容響應返回
return new ContentResult
{
Content = htmlFromDatabase,
ContentType = "text/html" // Change if you want depending on DB values
};
然后你只需要一個管理面板來更新數據庫條目的內容,客戶端可以添加/刪除/編輯數據庫中剛剛存在的條目。
雖然我還沒有嘗試過,但您可以在這里查看http://haacked.com/archive/2009/04/22/scripted-db-views.aspx
如果您可以遷移到 MVC3,則可以使用 Razor 從字符串執行腳本(頁面)的能力。
然后,您只需要在管理區域中添加一個頁面來編輯虛擬頁面,並將結果填充到數據庫中。
您的 controller 將檢查請求的路由並從數據庫中檢索正確的頁面記錄,使用 Razor 執行頁面(並以字符串形式獲取結果),並將結果發送回客戶端。
這將使您可以輕松地在頁面中包含動態內容(例如,腳本可以引用返回動態項目的部分視圖)。 如果他們需要做的只是編輯 HTML,這可能是矯枉過正。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.