Мне было интересно узнать о некоторых лучших методах связывания данных в веб-формах.
Например, у нас есть элемент управления:
public partial class MyUserControl : UserControl
{
public override void DataBind()
{
//#1
base.DataBind();
//#2
}
}
Если бы мы хотели, чтобы этот элемент управления связывал свои данные автоматически, мы бы сделали что-то вроде этого:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.DataBind();
}
}
В первом разделе кода, если мы выполняем привязку данных перед вызовом base.DataBind () (# 1), то это означает, что, например, если мы связываем данные с ListView, нам не нужно вызывать ListView. DataBind (), потому что когда мы вызываем base.DataBind () для нашего элемента управления, он рекурсивно вызывает DataBind для всех дочерних элементов управления. Кроме того, у нас не будет доступа ни к одному из свойств элемента управления, которые были ему назначены с использованием блоков кода привязки данных <% #%>
Если мы выполняем привязку к нашим элементам управления после base.DataBind () (# 2), то это означает, что DataBind вызывается для этих элементов управления дважды. Один раз, когда вызывается base.DataBind (), и второй раз, когда мы вынуждены вызывать control.DataBind ().
Кто-нибудь знает какую-то схему, которой я могу следовать здесь, о которой я не знаю?
Имею ли я здесь смысл?
Что я делаю не так?
EDIT:
Глядя на эту страницу:
http://msdn.microsoft.com/en-us/library/w5e5992d.aspx
Используйте этот метод для привязки данных из
источник для управления сервером. это
Метод обычно используется после
извлечение набора данных через
запрос к базе данных. Метод
в основном используется разработчиками элементов управления;
большинство элементов управления выполняют привязку данных
автоматически.
Похоже, что лучше всего автоматически связывать данные управления. Привязка данных - это когда мы явно устанавливаем источник данных.