Прежде всего, вам не нужно быть в Page_Init
для работы с динамическими элементами управления. Page_Load
просто отлично. Но для заполнения Repeater вы можете создать свойство в UserControl
public partial class WebUserControl1 : System.Web.UI.UserControl
{
public Repeater _ARepeater
{
get
{
return ARepeater;
}
set
{
ARepeater = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
Затем вы можете получить к нему доступ со страницы, используя UserControl.
protected void Page_Load(object sender, EventArgs e)
{
var list = (WebUserControl1)LoadControl("~/WebUserControl1.ascx");
list.ID = "MyUserControl";
Panel1.Controls.Add(list);
list._ARepeater.DataSource = source;
list._ARepeater.DataBind();
}
Или используйте FindControl
var _ARepeater = (Repeater)Panel1.FindControl("MyUserControl").FindControl("ARepeater");
_ARepeater.DataSource = dt;
_ARepeater.DataBind();
MySQL имеет сменные системы хранения. Это означает, что механизм может использовать различные устройства хранения данных. Это в настоящее время имеет 5-6 из них, что можно использовать. И так как это - открытый исходный код, Вы видите, как это сделано.
SQLite использует свою собственную реализацию B-дерева с журналированием. Открытый исходный код - можно посмотреть на него.
Firebird и Interbase используют B-деревья с мультирекордными системами управления версиями для устройства хранения данных. Firebird является открытым исходным кодом. Стоящий взгляда.
Не может сказать для Oracle, SQL Server MS или других собственных систем баз данных, так как они держат информацию о системах хранения в секрете.
Обычно умная реализация B-деревьев
От вышеупомянутой связанной статьи Википедии:
B-дерево порядка m (максимальное количество детей для каждого узла) является деревом, которое удовлетворяет следующие свойства:
- Каждый узел имеет в большинстве m детей.
- Каждый узел (кроме корня и листов) имеет, по крайней мере, m⁄2 детей.
- Корень имеет по крайней мере двух детей, если это не вершина.
- Все листы появляются на том же уровне и содержат информацию.
- Узел, не являющийся листом с k детьми содержит k–1 ключи
Преимуществами которого являются те данные, может быть получен доступ в логарифмическое время, как с большинством деревьев поиска (таких как стандартные двоичные деревья), но свойства синхронизации лучше в среднем случае.