2012-10-18 71 views
0

我有一個Web用戶控件:Controls集合不能修改,因爲該控件包含代碼塊(即<% ... %>)

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SitewideNotification.ascx.cs" Inherits="Controls_Fresh_SitewideNotification" %> 

<asp:PlaceHolder runat="server" ID="Javascript"> 
    test 
</asp:PlaceHolder> 

在我後面的代碼我有:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.Master.FindControl("JSContent").Controls.Add(Javascript); 
} 

我的母版頁結束於:

 <asp:ContentPlaceHolder runat="server" ID="JSContent"/> 

    </form> 

</body> 
</html> 

但我得到的錯誤:

System.Web.HttpException: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>). 

Page.Master.FindControl("JSContent").Controls.Add(Javascript); 

我有點失落,爲什麼這是,有誰知道如何解決它?

+0

哪個是你的代碼的一部分包含'<% %>'標籤?你可以在你的頁面中解決這些問題嗎?我之前有過這個問題... –

+0

@ElRonnoco我不知道哪個部分包含'<%%>'標籤,我找不到任何東西。我上面顯示的代碼是它是如何。 –

+0

這很奇怪,我認爲那裏肯定有一些!或者,他們是在一個主頁面? –

回答

0

我通常看到這個,當我有頁面頭部分的<%>塊的JavaScript代碼。當你將它從頭部移到身體下方時,它在我看到的情況下似乎消失了。因爲你沒有告訴我們的那部分代碼它會是很難說的問題是什麼,但這裏是問題的一個很好的職位:

http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

+0

如果我從母版頁中完全刪除''標籤,同樣的錯誤仍然存​​在。 –

+0

在這種情況下,我們需要看到佈局,特別是包含<% %>標籤的javascript代碼部分 – bechbd

+0

這裏是整個主頁面:http://pastebin.com/nzvX6wDA控件位於第22行,控件I'試圖添加到251行 –

相關問題