簡體   English   中英

具有動態內容的動態頁面

[英]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

並且已經在 asp.net mvc 中的 SO Create Dynamic pages 中詢問和回答

如果您可以遷移到 MVC3,則可以使用 Razor 從字符串執行腳本(頁面)的能力。

我正在使用這個開源項目來做一些非常相似的事情

然后,您只需要在管理區域中添加一個頁面來編輯虛擬頁面,並將結果填充到數據庫中。

您的 controller 將檢查請求的路由並從數據庫中檢索正確的頁面記錄,使用 Razor 執行頁面(並以字符串形式獲取結果),並將結果發送回客戶端。

這將使您可以輕松地在頁面中包含動態內容(例如,腳本可以引用返回動態項目的部分視圖)。 如果他們需要做的只是編輯 HTML,這可能是矯枉過正。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM