Когда следует привязывать данные к элементам управления с привязкой к данным? - PullRequest
1 голос
/ 29 марта 2010

У меня небольшая дилемма, я часто использую связанные с данными элементы управления, такие как Gridview в сочетании с ObjectDataSource. Но у меня есть два возможных варианта, когда я могу связать данные с Gridview. Во-первых, я устанавливаю datasourceid для gridview в файле aspx, и привязка данных происходит за мгновение до того, как происходит событие PreRender, или я могу установить источник данных в событии Page_Load, и привязка данных происходит немедленно, что-то вроде этого:

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

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

1 Ответ

2 голосов
/ 29 марта 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...