Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
69_Web.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

6.4. Прив'язка і відображення даних

Прив'язка даних є дуже потужним засобом організації автоматичного відображення даних в елементі управління без використання програмування.

Більшість елементів управління ASP|.NET підтримують прив'язку даних. При цьому прив'язка може працювати як для даних з одним значенням, так і для даних з множинними значеннями. Прив'язка з одним значенням означає, що елемент управління може відображувати єдине значення, витягуване з джерела даних. Такі принципи використовуються елементами управління TextBox, LinkButton, Image, Hyperlink. Прив'язка з множинними значеннями означає, що елемент управління може відображувати декілька значень, витягуваних з джерела даних. Елементи управління, що підтримують прив'язку з множинними значеннями, будуються на основі списків і електронних таблиць. Типовими представниками таких елементів управління є ListBox і GridView.

Для прив'язки елементів управління до джерела даних необхідно встановити значення властивості DataSource, в якій вказати найменування об'єкту, який містить дані, необхідні для відображення. При установці властивості DataSource створюється логічний зв'язок між елементом управління, здатним відображувати дані, і об'єктом даних, що підлягають відображенню. Після того, як джерело даних визначене, необхідно заповнити його даними. Для цього використовується метод DataBind() елементу управління, що заповнюється даними, який витягує дані з джерела, проходить в циклі по джерелу, визначеному в DataSource, і оновлює сторінку. Прив'язка з множинними значеннями є найбільш потужним типом прив'язки, оскільки в цьому випадку не потрібно програмувати циклічний перебір значень джерела даних і вивід їх на екран - ця логіка вже реалізована в елементі управління, що підтримує множинну прив'язку.

6.4.1. Прив'язка з одним значенням

Елементи управління, що підтримують прив'язку даних з одним значенням, дозволяють здійснити прив'язку деяких з їх властивостей до даних за допомогою вираження прив'язки даних. Вираз прив'язки даних вводиться в тексті сторінки .aspx і полягає усередині обмежувачів <%# %>.

Як вираз прив'язки даних може бути використана загальнодоступна або захищена змінна, а також будь-яке інше вираз, яке може бути обчислене у момент виконання сторінки. Так, як вираз прив'язки даних допустимо використовувати функції, властивості, об'єкти, визначені в класі сторінки.

Для того, щоб обчислити вираження прив'язки, необхідно в коді додатка викликати метод Page.DataBind(). У момент виклику даного методу ASP.NET перевіряє всі вирази на поточній сторінці, при необхідності проводить обчислення і замінює їх відповідними значеннями.

Як приклад розгледимо прив'язку елементу Label до даних таблиці "Товари". Для цього створимо метод GetProductName(), що повертає як значення вміст першого рядка стовпця "Наїменованієтовара" таблиці "Товари".

public string GetProductName|()

{

return ds.Tables["Goods"].Rows[0]["НазваТовара"].ToString();

}

Тепер необхідно додати елемент Label на сторінку .aspx і встановити вираження прив'язки для властивості Text даного елементу.

<asp:Label ID = "Label1" runat="server" Text="<%#GetProductName() %>"> </asp:Label>

У методі Page.Load() проведемо виклик методу Page.DataBind().

Повний текст початкового коду даного прикладу виглядає таким чином:

public partial class _Default : System.Web.UI.Page

{

private DataSet ds|;

protected void Page_Load(object sender, EventArgs e)

{

string strCon = WebConfigurationManager.ConnectionStrings

["Test_Db"].ConnectionString;

string sqlString = "SELECT Кодтовара,НазваТовара,ціна FROM Товари";

SqlConnection sqlCon = new SqlConnection(strCon|);

SqlDataAdapter da = new SqlDataAdapter(sqlString,sqlCon);

ds = new DataSet();

da.Fill(ds, "Goods");

this.DataBind();

}

public string GetProductName|()

{

return ds.Tables["Goods"].Rows[0]["Наїменованієтовара"].

ToString();

}

}

Як видно з даного прикладу, в такий спосіб можна відображувати тільки одне значення якого-небудь поля таблиці. Про те, яким чином можливо здійснювати множинну прив'язку і виводити всі значення, витягувані з бази даних, буде розказане нижче.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]