2010-01-22 191 views
6
  • ASP.NET主頁是否可以動態創建內容頁面? 也就是說,我知道我們可以動態地創建內容,但內容頁面本身可以通過編程創建嗎?我想讓我的用戶能夠通過管理面板定義新的內容頁面(即類別:沙發,表格,燈具,以及他們認爲合適的添加/刪除)。生成的內容頁面應具有正確的URL命名,以便它們正確編制索引。例如:http://www.example.com/products/Lamps/contentpage.aspx
  • 有沒有這個地方我可以查看的演示?
+0

是否有一個原因,你根本無法利用URL重寫的優勢,以便您給出的示例URL實際上服務於典型的動態內容頁面? – 2010-01-22 19:54:02

+0

通過URL重寫或路由,您不需要實際的aspx文件即可獲取正確的URL。我想你應該在開始生成aspx文件之前仔細研究一下。 – rmac 2010-01-22 19:56:25

回答

3

你的問題是當時人們苦苦掙扎的東西,但是現在使用少數技術要好得多。

ASP.NET MVC來救援!因此,如果用戶在「產品」類別中創建新的「燈」,則可以通過http://yourhost/Products/Lamp

訪問ASP.NET MVC使用.NET Routing來完成這些URL,如果你的項目有這些限制,你可以在沒有ASP.NET MVC本身的情況下使用它。如果您不能使用.NET 3.5,請使用另一個URL重寫技術。

+0

是的,ASP.NET Mvc非常適合這個用途。 – 2010-01-22 21:29:20

+0

@ F.Aquino,你是說這不能用Web表單來完成嗎? – IrishChieftain 2010-01-22 21:37:28

+0

答案是我想要做的事。謝謝。從這個博客條目開始:http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx,看看它在哪裏我。 – 2010-01-22 21:38:10

0

您可以使用TextWriter類並創建所有您想要的頁面和代碼。這將是一種痛苦的折磨,但它會起作用,儘管我以前從未這樣做過,但可能會遇到一些問題,因爲它不會被編譯。你絕對可以製作HTML靜態頁面

+0

頁面在第一次被請求時被編譯和緩存。 – 2010-01-22 23:32:37

0

如果你正在尋找自己的建立,這將是一個非常乏味的工作。購買或使用開源內容管理系統來完成這項工作會更好。市場上有很多這兩類產品都可供您使用。這是此類軟件包的主要功能。

退房www.codeplex.com一些,或有其他人購買像Telligent的包或Telerik的Sitefinity。

1

將.aspx文件寫入您的網絡文件夾似乎是一種嚴重的安全風險。如果您希望用戶創建自己的頁面,則可能需要將此信息存儲在數據庫中,並使用VirtualPathProvider將這些文件提供給ASP.NET引擎。