0
使用Kentico 7,我有aspx頁面上的CMS的形式,像這樣:Kentico&CMSForm:頁面加載後載入不同的表單?
<cms:CMSForm runat="server" ID="cmsFormCreate"
FormMode="Insert" ShowOkButton="false"
ParentNodeID='<%# documentsFolderNodeID %>'
/>
在後端,我設置窗體的父節點ID(所以我有一個基本位置保存到我稍後會改變。
我通過調用
CMS.SettingsProvider.DataClassInfoProvider.GetClasses("*", "className LIKE '%MyDocument.%'", "", Integer.MaxValue).Tables(0).Rows
返回數據集,我的文檔名稱,類ID談判(如果我需要的話)等等獲取表單/文件名。
我想更改回發時加載的表單。這就是說,我在CMS站點管理器中有幾種文檔類型,我想在它們之間進行交換。我想顯示一個頁面加載(這工作正常)。但是,當我啓動機制來更改顯示的窗體(下拉列表OnSelectedIndexChanged)時,它無法加載新窗體。
Private Sub PopulateCMSForm(ByRef targetForm As CMS.FormControls.CMSForm, sourceDDL As ListItem)
targetForm.FormName = sourceDDL.Value
'targetForm.LoadForm() 'same results with or without this
End Sub
我覈實,我希望通過形式硬編碼形式的域名(文檔類型代號)顯示正確且形式將顯示就好了第一次加載頁面。
如何設置更改CMS表單對象在Post-Back上加載的空白/空白文檔類型?
由於加載表單會導致錯誤,指出未爲節點指定類。此行爲意味着LoadForm(true)將加載現有數據,而不是爲新數據準備好表單模板。 – MetalPhoenix
你能給我們舉個例子,FormName屬性設置了什麼值?它是否採用有效的表格/類名格式? – Plaz
在這個特定的實例中,表單顯示名稱被設置爲「MyDocument.State#GA-Document」。代碼名稱設置爲「MyDocument_State.GA_Document」。當然,您將表單名稱設置爲顯示名稱。該文檔確實存在於站點管理器的文檔類型中,並在第一次加載頁面時正確加載使用表單名稱('MyDocument.State#GA-Document')。 – MetalPhoenix