- •Часть 2
- •2012 Часть 2-1. Создание и настройка приложения asp.Net
- •Упражнение 1 - Создание проекта веб-сайта и страницы
- •Упражнение 2: Добавление и программирование элементов управления
- •Упражнение 4: Работа с дополнительными элементами управления
- •Часть 2-2. Добавление кода к Web-форме Microsoft asp.Net.
- •Описание шагов выполнения работы
- •Ход выполнения работы
- •Результат работы программы
- •Часть 2-3. Создание элементов управления asp.Net и их использование
- •Ход выполнения работы
- •Часть 2-4. Создание элементов управления asp.Net и их использование
- •2.4.1 Создание пользовательских результатов трассировки
- •Ход выполнения лабораторной работы Упражнение 1 - Создание веб-узла на базе файловой системы
- •Упражнение 2. Использование трассировки для поиска ошибок
- •Упражнение 3 – отображение сведений трассировки в окне средства просмотра трассировки
- •Упражнение 4. Создание пользовательских результатов трассировки
- •Часть 2-5.Создание и использование пользовательских элементов управления
- •Ход выполнения лабораторной работы Упражнение 1 - Создание веб-узла
- •Упражнение 2. Создание пользовательского элемента управления
- •Упражнение 3 - Использование пользовательского элемента управления
- •Упражнение 4. Добавление пользовательских свойств и методов к пользовательскому элементу управления
- •Упражнение 5 - Тестирование свойств и метода пользовательского элемента управления
- •Часть 2-6.Доступ к данным с использованием Microsoft ado.Net Microsoft Visual Studio 2010
- •Ход выполнения работы Упражнение 1. Создание службы
- •Упражнение 2. Создание клиентского приложения
- •Упражнение 3 - Добавление возможностей фильтрации
- •Часть 2-7.Создание приложения asp.Net ajax
- •Упражнение 1 - Создание веб-узла asp.Net
- •Упражнение 2 - Добавление элемента управления UpdatePanel на веб-страницу asp.Net
- •Упражнение 3 - Добавление содержимого в элемент управления
- •Упражнение 4 - Добавление элемента управления UpdateProgress на страницу
- •Упражнение 5 - Добавление задержки в пример приложения
- •Часть 2-8. Использование Microsoft Silverlight для предоставления динамического контента
- •Упражнение 1 - Создание проекта Silverlight
- •Упражнение 2. Определение макета сетки
- •Упражнение 3 - Добавление кода
- •Упражнение 4 - Создание динамического макета
Упражнение 5 - Тестирование свойств и метода пользовательского элемента управления
Установка свойств пользовательского элемента управления декларативно
В режиме исходного текста декларативно задайте AllowDuplicates с помощью
синтаксиса, как в следующем примере:
<uc1:ListPicker id="ListPicker1" Runat="server"
AllowDuplicates="true" />
Добавим обработчики событий
Для AllowDuplicates
protected void AllowDuplicates_CheckedChanged(Object sender, EventArgs e)
{ ListPicker1.AllowDuplicates = AllowDuplicates.Checked;
}
Для AddItem
protected void AddItem_Click(object sender, EventArgs e)
{
ListPicker1.AddSourceItem(Server.HtmlEncode(NewItem.Text));
}
Для LoadFiles
protected void LoadFiles_Click(object sender, EventArgs e)
{
String path = Server.MapPath(Request.ApplicationPath);
String[] files = System.IO.Directory.GetFiles(path);
foreach(String filename in files)
{
ListPicker1.AddSourceItem(filename);
}
}
Для ShowSelection
protected void ShowSelection_Click(object sender, EventArgs e)
{
String selectedItemsString = "";
foreach(ListItem lItem in ListPicker1.SelectedItems)
{
selectedItemsString += "<br>" + lItem.Text;
}
Selection.Text = selectedItemsString;
}
Для ClearSelection
protected void ClearSelection_Click(object sender, EventArgs e)
{
ListPicker1.ClearAll();
}
Запускаем программу
Листинг:
Упр. 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ListPicker : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void AddAll_Click(object sender, EventArgs e)
{
TargetList.SelectedIndex = -1;
foreach (ListItem li in SourceList.Items)
{
AddItem(li);
}
}
protected void AddOne_Click(object sender, EventArgs e)
{
if (SourceList.SelectedIndex >= 0)
{
AddItem(SourceList.SelectedItem);
}
}
protected void Remove_Click(object sender, EventArgs e)
{
if (TargetList.SelectedIndex >= 0)
{
TargetList.Items.RemoveAt(TargetList.SelectedIndex);
TargetList.SelectedIndex = -1;
}
}
protected void AddItem(ListItem li)
{
TargetList.SelectedIndex = -1;
TargetList.Items.Add(li);
}
}
Упр. 4
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ListPicker : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void AddAll_Click(object sender, EventArgs e)
{
TargetList.SelectedIndex = -1;
foreach (ListItem li in SourceList.Items)
{
AddItem(li);
}
}
protected void AddOne_Click(object sender, EventArgs e)
{
if (SourceList.SelectedIndex >= 0)
{
AddItem(SourceList.SelectedItem);
}
}
protected void Remove_Click(object sender, EventArgs e)
{
if (TargetList.SelectedIndex >= 0)
{
TargetList.Items.RemoveAt(TargetList.SelectedIndex);
TargetList.SelectedIndex = -1;
}
}
protected void AddItem(ListItem li)
{
TargetList.SelectedIndex = -1;
if (this.AllowDuplicates == true)
{
TargetList.Items.Add(li);
}
else
{
if (TargetList.Items.FindByText(li.Text) == null)
{
TargetList.Items.Add(li);
}
}
}
public ListItemCollection SelectedItems
{
get { return TargetList.Items; }
}
public Boolean AllowDuplicates
{
get
{
return (Boolean)ViewState["allowDuplicates"];
}
set
{
ViewState["allowDuplicates"] = value;
}
}
public void AddSourceItem(String sourceItem)
{
SourceList.Items.Add(sourceItem);
}
public void ClearAll()
{
SourceList.Items.Clear();
TargetList.Items.Clear();
}
protected void RemoveSource_Click(object sender, EventArgs e)
{
if (SourceList.SelectedIndex >= 0)
{
SourceList.Items.RemoveAt(SourceList.SelectedIndex);
SourceList.SelectedIndex = -1;
}
}
}
Упр. 5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class HostUserControl : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void AllowDuplicates_CheckedChanged(object sender, EventArgs e)
{
ListPicker1.AllowDuplicates = AllowDuplicates.Checked;
}
protected void AddItem_Click(object sender, EventArgs e)
{
ListPicker1.AddSourceItem(Server.HtmlEncode(NewItem.Text));
}
protected void LoadFiles_Click(object sender, EventArgs e)
{
String path = Server.MapPath(Request.ApplicationPath);
String[] files = System.IO.Directory.GetFiles(path);
foreach (String filename in files)
{
ListPicker1.AddSourceItem(filename);
}
}
protected void ShowSelection_Click(object sender, EventArgs e)
{
String selectedItemsString = "";
foreach (ListItem lItem in ListPicker1.SelectedItems)
{
selectedItemsString += "<br>" + lItem.Text;
}
Selection.Text = selectedItemsString;
}
protected void ClearSelection_Click(object sender, EventArgs e)
{
ListPicker1.ClearAll();
Selection.Text = "";
}
}
Результат работы программы:
Рис. 3. Результат упражнения 3
Рис. 4. Итоговый результат
Вывод:В ходе лабораторной работы мы научились создавать и использовать пользовательский элемент управления ASP.NET, действующий как элемент управления выбора.
Так же мы научились устанавливать свойства пользовательского элемента управления декларативно.