Проектирование Интернет приложений. Тузовский А.Ф. - 150 стр.

UptoLike

Составители: 

150
ний этих свойств. Описание основных свойств связывания ЭУ с данны-
ми приведено в табл. 4.9.
Однако для изменения внешнего вида (представления) ЭУ не дос-
таточно простого задать значения этим свойствам. Реальный процесс
связывания ЭУ с данными начинается при вызове метода DataBind() у
ЭУ или у объекта Page. Для ЭУ выполнение операции связывания с
данными означает обновление его внутреннего состояния, чтобы отра-
жать коллекцию значений, присвоенную его свойствам. И, наконец, при
формировании ЭУ соответствующей ему разметки результате вызова
на выполнение метода RenderControl()), в эту разметку будут включаться
данные, связанные с ЭУ.
Например, можно связать с данными списочный серверный ЭУ,
включенный в шаблон web-формы:
<asp:DropDownList id="ddList1" runat="server">
Для этого нужно следующим образом задать источник данных в виде
объекта класса SqlDataReader:
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack) {
ddList1.DataSource = GetData();
ddList1.DataTextField = "country";
ddList1.DataValueField = "country";
ddList1.DataBind();
}
}
// Метод выборки данных из базы данных с помощью объекта DataReader
SqlDataReader GetCityData() {
string connectionString = "Data Souce=localhost/sqlexpress;
Initial Catalog=Northwind; Integrated Security = True";
SqlConnection connection = new SqlConnection (connectionString);
connection.Open();
string commandText = "select distinct country from Customers";
SqlCommand command = new SqlCommand(commandText, connection);
SqlDataReader dr = command.ExecuteReader();
return dr;
}
В результате выполнения данного кода будет получен выпадающий
список со всеми странами, где есть клиенты (Customers) компании из
базы данных Northwind.
Недостатком данного кода является то, что строка соединения со-
держится в программном коде. Если потребуется изменить расположе-
ние БД или используемый провайдер, то такой код надо будет коррек-
тировать. Лучше строку соединения хранить в файле конфигурации (ко-