- •Принцип работы Web. Динамическая обработка. Особенности asp.Net. Клиентская обработка. Объединение аsр.Nет клиентской и серверной составляющих
- •2 Net Framework. Соmmon Language Runtime. Классы .Net Framework|net Framework. Соmmon Language Runtime. Классы .Net Framework
- •3 Создание страниц аsр.Nет. Среда разработки
- •4 Элементы страницы аsр.Nет
- •5 Сравнение аsр с аsр.Nет. Основные изменения по сравнению с аsр. Усовершенствования в программировании по сравнению с аsр
- •6 Простое приложение asp.Net. Web-формы. Блоки объявления кода. Блоки воспроизведения кода. Страничные директивы. Работа asp
- •7 Написание кода asp.Net и html. Комментирование кода. Код, продолжающийся на множество строк
- •8 Приложение asp.Net. Компиляция asp.Net. Импорт пространств имен|Приложение asp.Net. Компиляция asp.Net. Импорт пространств имен
- •9 Common Language Runtime и asp.Net. Промежуточный язык. Выполнение приложения. Обработка процессов. Сборки. Одновременность
- •10 Языки программирования asp.Net. Анализ кода asp.Net
- •11 Основы Visual Basic.Net
- •12 Visual Basic.Net Переменные. Типы данных. Объявление переменных. Имена переменных. Преобразования типов данных
- •13 Массивы Visual Basic.Net
- •14 Операторы Visual Basic.Net
- •15 Условные структуры. Команды if. Команды Case Visual Basic.Net
- •16 Циклические структуры. Циклы While. Циклы For. Бесконечные циклы. Visual Basic.Net
- •17 Структуры переключений. Процедуры. Функции. Необязательные параметры. Обработчики событий. Visual Basic.Net
- •18 Классы. Оператор new. Наследование. Visual Basic.Net
- •19 Полезные функции vb.Net
- •20 Основы с. Примеры синтаксиса с|Основы с#. Примеры синтаксиса с#
- •21 Применение объектов. Свойства. Методы. Экземпляры объектов с#
- •27 Программная модель Web-форм. Серверные элементы управления. События серверных элементов управления. Отправка Web-форм
- •Основы работы с формами Web
- •28 Программная модель Web-форм. Сохранение состояния. Порядок обработки Web-форм
- •29 Серверные элементы управления html
- •30 Серверные элементы управления Web. Использование элементов управления Web. Немедленная отправка данных. Серверные элементы
- •31 Расширяемость Web-форм
- •32 Пользовательские элементы. Создание пользовательских элементов управления. Использование элементов управления
- •33 Пользовательские элементы управления. Создание и обработка пользовательских элементов управления.Использование свойств и состояния. Передача событий
- •34 Создание элементов управления во время исполнения
- •35 Сценарии проверки правильности данных
- •36 Проверка правильности данных в asp. Net. Как работают элементы управления типа Validation controls
- •37 Использование элементов управления типа Validation controls. Проверка данных на сервере. Отключение проверки правильности данных. Регулярные выражения
- •38 Настройка проверки правильности данных. Сообщения об ошибках. Вывод обобщенного результата проверки правильности данных. Пользовательские элементы управления типа Validation controls
- •44 Язык структурированных запросов (sql). Команда select. Команда insert. Команда update. Команда delete
- •45 Доступ к данным в среде asp. Net
- •50 Элемент управления GridView
- •51 Элементы управления, использующие привязку данных. Редактирование элементов. Сортировка. Разбивка на страницы
- •52 Основные понятия ado.Net. Ado.Net в сравнении с ado. Ado.Net и xml. Модель объекта ado.Net
- •53 DataSet важные особенности. Изменение данных в DataRow. Просмотр данных в DataTable. Параллелизм
- •54 Взаимодействие базы данных с ado.Net. Информация о соединении. Объект Connection. Обновление, Вставка и Удаление
- •55 Взаимодействие базы данных с ado.Net. Объект OleDbDataAdapter. Заполнение DataSet. Обновление источников данных
- •56 Использование ado.Net с asp.Net
- •58 Доступ к xml средствами asp.Net. Чтение xml. Запись в xml. Проверка правильности xml
- •59 Объектная модель документа xml. Загрузка данных xml. Изменение данных xml
- •60 Xml и элементы управления Data
- •61 Прогрессивные технологии работы с данными. Параметризованные запросы. Встроенные процедуры. Создание встроенных процедур в sql Server
- •62 Прогрессивные технологии работы с данными. Создание встроенных процедур в Access 2000. Использование встроенных процедур в asp.Net. Транзакции
- •63 Прогрессивные технологии xml. XPathDocument. XPath. Преобразования xsl
- •64 Работа с файлами в asp.Net
- •65 Включение внешних файлов. Серверные включения. Сравнение серверных и прочих включений. Прочие включения
- •66 Доступ к файлам. Файлы, потоки и операции чтения и записи. Работа с файлами и каталогами
- •67 Доступ к файлам. Открытие файлов. Использование объекта File. Использование объекта FileStream. Чтение файлов. Запись файлов. Прочие операции с файлами и каталогами. Объекты File
- •68 Изолированные хранилища данных. Создание изолированных хранилищ данных. Доступ к изолированным хранилищам
- •73 Эффективное использование кэширования
- •74 Компоненты бизнес-объектов. Понятие бизнес-объекта. Использование компонент бизнес-объекта. Использование компонент asp.Net
- •75 Технология создания бизнес-объектов. Компилирование объекта базы данных
- •76 Создание бизнес-объектов
- •77 Пример бизнес-объекта. Важные замечания по примеру
- •78 Работа с компонентами не из .Net
- •79 Принципы работы Web-службы
- •80 Понятия web-служб. Сценарии Web-служб. Программная модель Web-службы. Протоколы доступа к Web-службам. Назначени Web-службы
- •86 Использование Web-службы с помощью страницы asp.Net. Реализация класса представителя. Другой пример использования Web-службы
- •87 Рекомендации по использованию Web-служб
- •88 Организация защиты Web-служб
- •90 Global.Asax. Класс HttpApplication. Программирование global.Asax
- •91 Конфигурирование asp.Net. Web.Config
- •92 Разделы с параметрами конфигурирования
- •100 Предложения try и catch. Вызов исключений. Когда используется предложение try
- •101 Трассировка. Трассировка на уровне страницы. Трассировка на уровне приложения
- •102 Применение отладчика clr
- •103 Рекомендации по отладке
- •104 Основы защиты информации. Защита данных в операционной системе Windows
- •105 Идентификация. Идентификация Windows. Идентификация на форме. Идентификация Passport
- •106 Авторизация. Серверные элементы управления входом
- •107. Определение ролей пользователей и ограничение доступа средствами asp.Net
21 Применение объектов. Свойства. Методы. Экземпляры объектов с#
Классы в C#
C# - полностью объектно-ориентированный язык, следовательно код и данные могут описываться только внутри классов. Класс - набор методов, полей, свойств и событий. Класс - это тип данных, описывающий некий элемент некой области реального мира. Описание класса начинается с ключевого слова class, далее идёт имя класса, а тело класса заключается в фигурных скобках.
Пример описания некоторого класса:
class SomeClass
{
private int _field;
public bool Property { get; set; }
public event EventHandler SomeEvent;
protected string Method()
{
return "Hello, world!";
}
}
Объекты и экземпляры объектов
Описанный класс - это новый тип данных. Экземпляр класса создаётся с помощью операции new. При этом CLR генерирует в IL-коде команду newobj. Когда компилятор встречает эту команду, он выделяет в управляемой куче необходимую память для объекта. С этого момента объект считается созданным, и программист может обращаться к методам и свойствам этого класса (если класс не статический или абстрактный).
Пример создания экземпляра класса:
namespace AnyNamespace
{
class AnyClass
{
private int _anyField;
public bool AnyProperty { get; set; }
public bool AnyTrueMethod()
{
return true;
}
}
class SomeClass
{
public static Main(string[] args)
{
var anyclass = new AnyClass();
}
}
}
Методы
В языке C# методы определяются через функции класса. Тело метода располагается внутри описания класса. Поддерживаются статические методы, абстрактные методы. В C# также есть явная реализация методов интерфейса, что позволяет классу реализовывать методы интерфейса отдельно от собственных методов или давать разные реализации одноимённых методов, принадлежащих двум разным интерфейсам.
В C# примитивные типы (byte, int, double, float, bool и пр.) и структуры (struct) передаются по значению (т. н. значимые типы), остальные типы передаются по ссылке (т. н. ссылочные типы). C# также поддерживает явное описание передачи параметров по ссылке (ключевые слова ref и out). При использовании out компилятор контролирует наличие в методе присваивания значения.
Пример описания метода:
class TrueClass
{
public bool TrueMethod()
{
return true;
}
}
Свойства
C# поддерживает концепцию «свойств» — псевдополей класса, к которым обеспечивается полностью контролируемый доступ путём создания методов для извлечения и записи значения поля. Описания свойств производятся с помощью аксессоров get и set.
C# также включает так называемые индексаторы, которые можно считать особым случаем перегрузки операций (аналогичным перегрузке operator[] в C++), или параметризованными свойствами. Индексатор — это свойство с именем this[], которое может иметь один или более параметров (индексов), причём индексы могут быть любого типа. Это позволяет создавать классы, экземпляры которых ведут себя подобно массивам:
myArray[4] = 5;
string user = xmlNode.Attributes["user"];
bookList = myLibrary[currentBook];
Использование свойств не одобряется некоторыми авторитетными программистами. В частности Джеффри Рихтер пишет:
«Лично мне свойства не нравятся, и я был бы рад, если бы их поддержку убрали из Microsoft .NET Framework и сопутствующих языков программирования. Причина в том, что свойства выглядят как поля, на самом деле являясь методами.»
Согласно общепринятому в C# стилю именования, имена свойств визуально отличаются от полей тем, что начинаются с прописной буквы.
Пример описания свойства:
class MyClass
{
private int _number;
public int Number
{
get { return _number; }
set { _number = value; }
}
}
Пример индексированного свойства:
class Indexator
{
private int[] _array;
public this[int index]
{
get{ return _array[index]; }
set{ _array[index] = value;}
}
}
22 Объекты ASP.NET. Объект Response. Метод Write. Буферизация страниц. Перенаправление пользователей
23 Объекты ASP.NET. Объект Request. Объект HttpCookie. Создание cookie. Доступ к cookie
24 Объекты ASP.NET. Объект Page. Объект Session. Управление объектом Session. Работа с объектом Session. Сеансы без cookie
25 Объекты ASP.NET. Объект HttpApplication. Объект HttpServerUtility. Перенаправление пользователей. Преобразование формата строк символов. Управление сценариями. Создание объектов
26 Базовые понятия формы. Пример Web-формы
Web-формы в ASP.NET — это основной элемент динамического Web-сайта. Web-формы определяются как программируемые Web-страницы, которые служат пользовательским интерфейсом в приложениях ASP.NET.
Web-форма — это комбинация кода HTML, программного кода и элементов управления. Web-формы в приложении ASP.NET представлены файлами с расширением .aspx. Именно по расширениям Internet Information Server распознает файлы как Web-формы. При этом на одном сервере вполне могут сосуществовать как файлы .asp, так и файлы .aspx — обрабатываться они будут по разному.
Физически Web-форма представлена файлом с расширением . aspx. Расширение любой HTML-страницы можно изменить на .aspx. При этом представление страницы с новым расширением будет тождественно представлению исходной страницы. Иными словами, Web-формы совместимы снизу вверх с обычными HTML-страницами. Особенность Web-форм состоит в способе, при помощи которого программный код отделяется от самой формы. Исходный код (написанный не на C++) может храниться в отдельном не скомпилированном файле. Или же программный код (снова таки, не на C++) может быть вложен в . aspx-файл. И, наконец, код (написанный на С#, VB или C++) может храниться в предварительно скомпилированной сборке, содержащей динамически подключаемую библиотеку (DLL). Когда страницы загружаются Web-сервером, выполняется код, описывающий пользовательский интерфейс. Этот код динамически формирует отображаемую клиентом страницу.
Web-формы обычно создаются двумя способами:
в окне Solution Explorer можно щелкнуть правой кнопкой мыши по строке проекта, в контекстном меню выбрать Add New Item (Добавить новый элемент) и в списке шаблонов выбрать Web Form;
можно просто добавить в проект существующую страницу HTML с готовым оформлением и переименовать ее в окне Solution Explorer, присвоив ей расширение .aspx. Необходимые изменения на страницу будут внесены автоматически.
Web-форма состоит из двух частей:
отображаемого содержимого, или презентации формы. Как правило, отображаемое содержимое описывается на языке HTML;
программного кода, который описывает логику взаимодействия с визуальными элементами.
Главное специфическое для ASP.NET содержание Web-формы — это специальные теги с атрибутами. На форме может быть три типа тегов с атрибутами:
страничные атрибуты, (@ Page), которые определяют общие параметры для всей Web-формы;
атрибуты тела Web-формы (body), которые определяют общие параметры отображения содержимого страницы;
атрибуты форм (form), которые определяют параметры работы с формой — набором элементов управления (не путать с Web-формой).
Пример Web-формы
В простейшей веб-форме requestSomething.aspx пользователь может ввести некоторую личную информацию и нажать на кнопку Submit (Отправить). После отправки веб-формы он получает ответ в виде содержимого, введенного им в текстовом поле с именем Tell Me About Yourself And Click Submit (Расскажите о себе и нажмите на кнопку Submit [Отправить]), а также в поле You Said (Вы сказали). Ниже на рисунке показана форма requestSomething.aspx после отправки информации на сервер.
Программный код данной Web-формы приведён ниже:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace SimpleWF
{
/// <summary>
/// Summary description for requestSomething.
/// </summary>
public class requestSomething : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox txtYourself;
protected System.Web.UI.WebControls.TextBox txtResponse;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label1;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the
// ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.txtYourself.TextChanged += new
System.EventHandler(this.txtYourself_TextChanged);
this.Load += new
System.EventHandler(this.Page_Load);
}
#endregion
private void txtYourself_TextChanged
(object sender, System.EventArgs e)
{
this.txtResponse.Text = this.txtYourself.Text;
}
}
}
