簡體   English   中英

Kentico&CMSForm:頁面加載后是否加載其他表單?

[英]Kentico & CMSForm: Load a different form after page load?

使用Kentico 7,我在aspx頁面上有一個cms表單,如下所示:

<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表單對象在回發后加載的空/空白文檔類型?

嘗試這樣的事情:

Private Sub PopulateCMSForm(ByRef targetForm As CMS.FormControls.CMSForm, sourceDDL As ListItem)       
    targetForm.FormName = sourceDDL.Value
    targetForm.LoadForm(True) 
End Sub

將真值作為方法LoadForm的參數應強制重新加載表單。

暫無
暫無

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

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