I think that there is one more change.
I have a code smth like that
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="RdC.Front.TestForm" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
List<string> l = new List<string>();
l.Add("a");
l.Add("b");
UniversRepeater.DataSource = l;
UniversRepeater.DataBind();
}</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Ext.NET Examples</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server">
<Listeners>
<DocumentReady Handler="#{TabPanel1}.add(#{Panel1}); #{TabPanel1}.setActiveTab(0);" />
</Listeners>
</ext:ResourceManager>
<br />
<ext:TabPanel ID="TabPanel1" runat="server" />
<ext:Panel runat="server" ID="Panel1" Title="Title" Layout="FormLayout">
<Content>
<asp:Repeater runat="server" ID="UniversRepeater">
<ItemTemplate>
<li class="univers">
<asp:Label runat="server" ID="UniversLabel">Label</asp:Label>
</li>
</ItemTemplate>
<SeparatorTemplate>
<li class="separator"> </li>
</SeparatorTemplate>
</asp:Repeater>
</Content>
</ext:Panel>
</form>
</body>
</html>
Well, I know that non-ext.Net widgets are not controlled by layout and that they cannot be added to Items collection. And everything added to Content is not controlled by layout. And that code worked perfectly before.
But now I receive exception Control with type 'System.Web.UI.WebControls.Repeater' cannot be handled by layout. Stacktrace:
[Exception: Control with type 'System.Web.UI.WebControls.Repeater' cannot be handled by layout]
Ext.Net.AbstractContainer.PopulateItems(ControlCol lection contentControls, ItemsCollection`1 contentItems) +616
Ext.Net.AbstractContainer.get_ItemsProxy() +427
Ext.Net.AbstractContainer.get_ConfigOptions() +3574
Ext.Net.AbstractPanel.get_ConfigOptions() +56
Ext.Net.Panel.get_ConfigOptions() +56
Ext.Net.ClientConfig.Process(Object obj) +408
Ext.Net.ClientConfig.Serialize(Object obj, Boolean ignoreCustomSerialization, Boolean quoteName) +1369
Ext.Net.ClientConfig.Serialize(Object obj, Boolean ignoreCustomSerialization) +290
Ext.Net.ClientConfig.Serialize(Object obj) +53
Ext.Net.BaseControl.get_InitialConfig() +127
Basically it should be considered as a bug, because asp:repeater is added to Content and Layout should't be applied to it.
But anyway I have to wrap my repeater into container to get it working or remove layout, but this is not working in case when I use it inside of FormPanel or if I need to define layout. So the only solution is to wrap it to the container.
But hey, why so complicated?.. Why we all have to wrap every non-ext.Net control into container even when it is allowed by the framework? I have all rights to add asp:repeater into Content section without any abstract contaners...