2010-03-29 3 views
2

У меня есть небольшая дилемма, я часто использую связанные с данными элементы управления, такие как Gridview в сочетании с ObjectDataSource. Но у меня есть два возможных варианта, когда я могу привязать данные к Gridview. Первое, что я установить DataSourceID из GridView в ASPX файле и DataBind происходит в момент перед PreRender происходит событие, или я могу установить источник данных в Page_Load события и привязка данных происходит сразу же, что-то вроде этого:Когда для привязки данных привязаны данные?

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     testGridView.DataSource = testObjectDataSource.Select(); 
     testGridView.DataBind(); 
    } 
} 

Я думаю, что в второй подход. У меня больше контроля над привязкой данных. Но как это происходит в реальной жизни программирования? Какой из этих двух вариантов обычно используется? Или есть какой-то третий вариант, как я могу привязать данные к управлению привязкой к данным? Спасибо за ваше мнение от реальных событий.

ответ

2

Я предпочитаю делать все привязки данных в коде, где я могу диктовать, когда это будет происходить подобно тому, как вы делаете это в вашем Page_Load например или щелчок и т.д. ...

Таким образом, если вам нужно манипулировать другими элементы управления (не связанные с контролем, которым вы привязываетесь) ПОСЛЕ того, как произошла запись данных, у вас есть возможность сделать это, не прибегая к тому, чтобы делать это в таких событиях, как OnDataBinding или OnDataBound. Обычно я использую эти события, чтобы повлиять на контроль, связанный конкретно, а не с другими элементами управления.

Я также предпочитаю более тонкое управление, и все функции автоматической проводки этих элементов управления не всегда гибкие. Мне не нравится, когда половина моего кода делает это в одну сторону, а затем другую половину другой (например, некоторые в коде, некоторые в aspx для автоматического подключения), поэтому я просто делаю все это с помощью кода.

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