我希望我的客戶能夠通過選擇給定的小部件在Kentico中設計自己的頁面。所以他們創建一個頁面,選擇一個帶有小部件區域的模板,然後放置他們想要的任何小部件。Kentico:以編程方式檢索頁面的呈現內容
我想要做的是,我想開發一個小部件,檢索其中一個頁面的內容,然後處理/封裝它。或者用更多的技術詞彙,我想將頁面內容作爲HTML小部件中的HTML字符串。
不幸的是,Kentico API沒有提供檢索頁面內容的方法,或者至少我不知道如何。有一個Kentico Web部件,即「頁面佔位符」,它完全符合我的需求,但是,我無法在小部件中使用其功能。我認爲我可以在我的widget.ascx中使用cms:CMSPagePlaceholder
標籤,但由於某種原因,它在那裏是不可見的(不過我可以從Kentico CMS命名空間中選擇許多不同的其他控件)。
我也嘗試通過System.Net.WebClient
類接收內容 - 沒有成功。我得到的是
(401)未經授權
不過,我可以打開我的瀏覽器給定的URL。 (如果你可以告訴我爲什麼是這樣的話,獎勵積分可以告訴我爲什麼,我已經在另一個上下文中偶然發現了這個401錯誤(訪問暫存web服務)並且無法弄清楚爲什麼。在瀏覽器中登臺Web服務的URL,但不在Kentico內部...非常奇怪)
一些背景信息:我正在從我的物理文件存儲的客戶端開發,我正在訪問服務器上的共享數據庫。物理文件基本上是我的客戶端和服務器上的重複文件。我只推送我更改的Web部件文件。服務器Kentico實例與我的客戶端的Kentico實例具有不同的URL,並且我將客戶端的URL重定向到服務器(通過「站點」設置)。
長話短說,我如何爲我的小部件獲取文檔的呈現HTML?如果那是可能的,它會讓我的生活變得更容易。
謝謝你的回答!您的代碼非常有用。 – RolandK