2009-10-05 2 views
0

Я пытаюсь добавить элемент управления диаграммой на мой .aspx странице, но я получаю следующее сообщение об ошибке:Динамически Добавление веб-управления на страницу .aspx с блоками сценария

Коллекция Controls не может быть изменена, поскольку контроль содержит код блоков (т.е. <% ...%>).

с этим кодом:

protected void Page_Init(object sender, EventArgs e) { 

    if (Context.Items.Contains("ajaxChart")) { 
    ajaxChart = (bool) Context.Items["ajaxChart"]; 
    } 

    if (Context.Items.Contains("chartControl") && ajaxChart) { 
    _ChartControl = (ChartControl) Context.Items["chartControl"]; 
    } 

    if (_ChartControl != null) { 
    this.portletContent.Controls.Add(_ChartControl); 
    } 
} 

страница ASPX сама имеет два <% ...%> блок вызова методов в моем коде позади.

<body> <div id="portletContent" runat="server"> <%=Render()%> </div> </body> Кто-нибудь решил эту проблему раньше? Есть ли другой подход, который я могу предпринять, чтобы обойти это. В основном мне нужно ввести этот элемент управления на эту страницу, а также запустить метод Render() в нужном месте.

ответ

0

Либо замените <% = на <% # (если можете), либо добавьте элемент управления PlaceHolder в страницы и добавьте свой контроль в коллекцию Control PlaceHolder.

Смежные вопросы