我們正在研究將我們的自定義.net webforms CMS移植到MVC。.net相當於Page.ParseControl()的MVC
我們當前CMS的一個特點是用戶可以將模塊(實際上只是.net用戶控件)添加到富文本編輯器中。這些模塊然後被解析爲一個容器。
plc_controls.Controls.Add(Page.ParseControl(description));
在哪裏「描述」是從含有一些純頁面的內容,並且可以包括在標記中的一個或多個用戶控件的數據庫的字段。
在mvc框架中如何容納這種東西?我對MVC不太瞭解,不知道從哪裏開始 - 在這一點上,我們只是調查這一舉措是否有意義。
編輯的一個示例
目前,用戶可以輸入的標記,可以如下所示:
<p>Some text</p>
<cms:facilities id="facilities" membertypes="2,3,4" runat="server" />
<p>Some more text</p>
這被存儲在稱爲「說明」單個數據庫字段,並在我們的webforms CMS我把這個描述解析成一個控制容器,如上所述。 cms:facilities是一個web用戶控件,它被加載到web.config的pages/control部分。該控件只是呈現兩個段落標籤之間的設施列表。
簡短的回答是,它沒有。在ASP.NET MVC框架中沒有像自定義控件這樣的事情。您很可能可以使用另一種方法獲得類似的行爲,但我們需要更多信息才能給您一個完整的答案。例如,你的這些用戶控件是否依賴於服務器端行爲? – rsenna
@rsenna - 那很好,這個一般概念將如何處理? – ScottE
ASP.NET MVC框架中最接近WebForms用戶控件的是「部分視圖」。你可以從那裏開始。 – rsenna