2016-09-19 32 views
0

enter image description here在sitecore 8中,發佈我的VS解決方案後,我能夠看到幾頁,作爲幾頁我得到錯誤「Controls集合不能修改,因爲該控件包含代碼塊,即(<%...%>)」。請幫忙。在sitecore 8中,我得到的錯誤是「控件集合無法修改,因爲控件包含代碼塊,即(<%...%>)」

+3

谷歌對這個錯誤很多答案(包括這裏SO),但是如果你需要具體的幫助,我們應該看到一些代碼... – Gatogordo

+0

@Gatogordo,我有增加了錯誤的快照。如果我能得到有關此問題的任何建議,那將是非常好的。 –

+0

很可能你的語法在某處不正確。再次檢查您的<% %>標籤。 – Gabbar

回答

1

這通常是通過在Sitecore的佈局使用代碼塊引起的。這將在內容編輯器中正常工作,但只要您使用頁面編輯器或預覽頁面,您將遇到此錯誤。發生這種情況是因爲Sitecore動態地將Ribbon控件添加到修改控件集合的頁面。

但是因爲你提到你看到它發佈的頁面,這可能實際上並不涉及到Sitecore的上和它的所有功能區控制(這可以在香草Asp.net發生爲好)。它可能正在發生,因爲您正在使用代碼塊將值注入到頁面的標題中,並且您引用的控件尚未呈現。基於包含的錯誤消息,它看起來像你(或者至少Active Commerce皮膚)可能試圖以這種方式構建meta標籤。

有幾個選擇這裏爲解決這一問題:

  • 如果試圖注入一些到你的JavaScript(如現場的客戶端ID),那麼可能會使用Page.ClientScript.RegisterClientScriptBlock。
  • 如果你試圖注入的值轉換爲JavaScript,你也可以將JavaScript的塊移動到頁面(標籤)之前結束或在腳本塊它引用的控制之後。將其置於意志中通常會導致此錯誤。
  • 使用數據綁定塊代替(<%#%>)。如果您正在訪問頁面屬性,則需要在Page_Load中添加Page.DataBind()。

如果這些不能讓您啓動並運行共享任何相關的代碼,我應該能夠進一步幫助您。

參考文獻:

http://www.tcsc.com/sitecore-layouts-and-code-blocks/https://weblogs.asp.net/abdullaabdelhaq/how-to-fix-this-the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks-i-e-lt-gt

相關問題