2012-04-04 106 views
0

我正在使用mvc進行分類廣告項目。 這是我在mvc中的第一個項目,所以我正面臨着構建小型CMS的問題。如何在asp.net中動態創建視圖頁mvc3

在這個網站的情況是這樣的:

  1. 用戶將創建一個頁面,這將是動態創建的,而這個頁面將是其主頁。
  2. 此頁面內容像(標題,菜單欄,頁腳等)將被動態創建。
  3. 用戶可以添加更多關於我們的頁面或與我們聯繫。就像你會用www.wordpress.com一樣。

我使用塔伊字動態指通過C#或其他任何方法

所以我很困惑如何創建這些頁面以及如何保存和管理CSS,這些頁面的HTML生成。

請幫我的任何書籍或文章(我搜索了很多,但我沒有找到一個解決方案)

我不希望使用任何CMS工具(這是一個客戶的要求)

+0

這是可能創建多個視圖在一個動作...? – 2012-04-04 20:20:54

回答

0
+0

我同意這些都是很好的書,但我認爲OP正在要求一本關於在MVC中開發CMS的特定書。我不認爲有任何。 – Iridio 2012-04-04 19:54:38

+0

@Iridio - 我也不知道,所以我提供了我所知道的最好的。這些將爲您提供開發自己的CMS的基礎知識,這正是我認爲OP所暗示的。 – 2012-04-04 19:57:03

+0

所以任何其他幫助構建CMS的材料 – 2012-04-04 19:57:32

1

我不知道任何特定的書上從頭開始開發一個CMS 。

除了已經在Travis J的答案中列出的好書以外,我建議你看看Umbraco。這是一個CMS,你可以下載來源。

我強烈建議您在潛入Umbraco來源之前先閱讀ProfessionaL ASP.NET MVC 3Pro ASP.NET MVC 3 Framework之間的至少一個。

+0

這是可能創建多個視圖在一個動作...? – 2012-04-04 20:18:43

+0

是的。你可以有一個方法來做一些邏輯並輸出不同的視圖。 – Iridio 2012-04-04 20:20:49

0

您不打算動態創建cshtml頁面。這聽起來像是一個根本的誤解。我是.net mvc的新手,所以我的代碼示例可能關閉。但是我做了很多CMS。一個視圖將是「從數據庫渲染東西」視圖,我將其稱爲RenderStuff。你會定義很多不同部分的存在,所以你的主人佈局頁面可以@RenderSection(「頭」),以及您的RenderStuff看法會做:

@section header { 
    //query db for header row based on customer and pageid 
    //if found, write out as html 
} 

你可能會想,這樣你總是設置路由具有客戶和頁面ID的兩個路由參數:

context.MapRoute(
       "Stuff_default", 
       "Stuff/{controller}/{action}/{customer}/{pageid}"} 
      ); 

CMS還有很多其他的參數。

+0

我也在思考這個概念。但問題是這個如何管理其每個頁面的主體內容和CSS例如如果用戶所在地圖像及其一些文本描述然後如何管理這些東西 – 2012-04-04 21:11:44

+0

這是建立一個CMS的全部。你不允許無限的靈活性。您允許使用幾個模板,因爲您最終只需要幾頁將數據從數據庫中提取出來並將其放入頁面中的字段中。檢查Blogger或WordPress。你可以在你的控制器中查詢「客戶和頁面id,這是什麼模板」,然後返回View(「picsLayout」)或返回View(「mainLayout」)。請注意,ASP.Net MVC可以編寫一個CMS,但是對於這個任務來說,它並沒有比PHP或傳統ASP更具優勢。 – 2012-04-05 19:55:39

1

ORCHARD CMS - 它是在ASP.NET MVC上開發的。 也許你可以使用這個CMS作爲你的基礎,只是開發你需要的確切的擴展。

+0

我沒有聽說過這個。下載它看看源代碼,因爲我對mvc比較陌生。 – 2012-04-06 17:54:16