Интернет-магазин My-shop.ru
Акции   
Персональный раздел v
   Доставка    Оплата    Скидки    Форум    Помощь
для Москвы  +7 (495) 638-53-38
бесплатно для РФ  +7 (800) 100-53-38
 
0
• 
Книги (701542)
• 
Компьютерная литература (3913)
• 
Разработка ПО (1245)
• 
Языки и среды программирования, технологии и т.п. (777)
• 
.NET, ASP.NET, VB.NET, C# (141)



Разработка Web-портала в ASP. Net 2.0 и ShapePoint 2007

Гробов И.Д. (найти все товары)

+ CD-ROM
Разработка Web-портала в ASP. Net 2.0 и ShapePoint 2007Книга является руководством для Web-разработчиков и руководителей проектов, желающих самостоятельно освоить современные технологии создания Web-порталов. Рассмотрена перспективная серверная технология ASP.NET версии 2.0 для создания динамических Web-сайтов. Подробно описана инфраструктура строительных элементов WebParts, которая применима как в классических серверах на основе ASP.NET 2.0, так и в корпоративных порталах на основе Windows SharePoint Services 3.0 и Microsoft Office SharePoint Server 2007. Материал сопровождается множеством практических примеров с подробными комментариями, которые размещены на компакт-диске.
Для широкого круга пользователей

Издательство: БХВ-Петербург
Серия: Профессиональное программирование

Рейтинг: 3.0 (голосов: 2)
Ваша оценка: 1 2 3 4 5  

дата выпуска: 2008 г. 
язык: русский
количество томов: 1
количество страниц: 656 стр.
переплет: мягкий
формат: 70x100/16 (170x240 мм)
тираж: 2000 экз.
стандарт: 6 шт.
возрастная категория: 18+ (нет данных)
код системы скидок: 25
код в My-shop.ru: 384041

ISBN: 978-5-9775-0229-0


Гробов И.Д.автор/составительГробов И.Д., найти все товары


Содержание:

Оглавление. Предисловие 15
Структура книги 16
Выбор технологии 17
Цель написания этой книги 18
Для кого предназначена эта книга 18
Какими навыками необходимо владеть, чтобы начать создание портала? 19
Введение 20
Системные требования 21

ЧАСТЬ I. Знакомство с ASP.NET и Visual Studio 2005

23
Определение портала 24
Составные части портала 25
Преимущества Web-порталов в сравнении с Web-сайтами 26
Пользовательский интерфейс 26
Программные средства для разработки портала 27
Архитектура программных средств 28

Глава 1. Начало работы в ASP.NET

31
1.1. Знакомство с архитектурой ASP.NET 2.0 32
1.1.1. Создание сайта 32
1.1.2. Установка Visual Studio 32
1.1.3. Установка примеров QuickStart 32
1.2. Первая страница в ASP.NET 32
1.3. Создание приложения с помощью Visual Studio 2005 35
1.3.1. Работа в среде создания приложений в Visual Studio 2005 38
1.3.2. Компиляция приложения 40
1.4. Публикация приложения 41
1.4.1. Использование встроенного Web-сервера 42
1.5. Модель клиент-сервер в ASP.NET 43
1.6. Какое место занимает ASP.NET во взаимодействии клиента и сервера 44
1.7. Технология объектно-ориентированного программирования 45
1.8. Серверные элементы управления 46
1.9. Теги в странице ASP.NET 47
1.9.1. Тег <form> и серверная форма 48
1.9.2. Атрибут runat ="server" 48
1.9.3. Тег <% ... %> 48
1.9.4. Теги <asp:... — объявляем серверный элемент управления 49
1.9.5. Тег <script ... runat=server> 49
1.9.6. Знакомство с панелью инструментов 49
1.9.7. Модель соответствия клиентской формы серверному документу 50
1.10. Обработка страницы клиентом 51
1.10.1. Механизм взаимодействия сервера и клиента 53
1.11. Стандартные элементы управления 54
1.11.1. Элемент управления "поле ввода" 54
1.11.2. Элемент управления "выпадающий список" (dropdownlist) 54
1.11.3. Класс System.Web.UI.Page 56
1.11.4. Страничная директива @ Page 57
1.12. Пространство имен в ASP.NET 57
1.13. Обзор среды разработки (IDE) 61
1.13.1. Используем стандартную панель управления 62
1.14. Индивидуальная настройка среды Visual Studio 2005 63
1.15. Заключение 64

Глава 2. Web-формы

66
2.1. Структура серверной Web-формы 67
2.2. Как происходит взаимодействие кодовой формы и Web-формы 69
2.3. Создаем первую Web-форму 69
2.3.1. Режимы создания формы 70
2.3.2. Временное хранение фрагментов кода 73
2.3.3. Используем режим редактирования Source 74
2.3.4. Используем редактор кода 74
2.3.5. Создаем сценарий для кнопки 74
2.4. Предварительная компиляция кодовых форм 76
2.5. Технология программирования Web-форм 77
2.6. Модель обработки событий от пользователя 78
2.6.1. Методы GET и POST в обмене данными 79
2.7. Возврат формы серверу 80
2.7.1. Идентификация возврата формы сервером 81
2.7.2. Перекрестная отправка форм 82
2.8. Обработка событий в ASP.NET 83
2.8.1. Обработчик событий 84
2.9. Обработка событий от серверного элемента управления 84
2.10. Порядок обработки Web-формы 85
2.10.1. Жизненный цикл формы 86
2.11. Методы Page_Init и Page_Load 87
2.11.1. Переопределение виртуальных методов Page_Init и Page_Load 88
2.12. Хранение состояния 90
2.13. Трассировка страницы 92
2.13.1. Динамическая компиляция страниц в ASP.NET 94
2.13.2. Среда исполнения Common Language Runtime 95
2.13.3. Выполнение кода в CLR 96
2.14. Заключение 97

Глава 3. Создание шаблонов сайта

98
3.1. Эталонные страницы 99
3.2. Программная модель эталонных страниц 100
3.2.1. Элемент управления ContentPlaceHolder 102
3.2.2. Элемент управления Content 102
3.2.3. Архитектура построения эталонных страниц 103
3.3. Знакомство со структурой и методикой построения эталонных страниц 104
3.3.1. Разрабатываем дочернюю страницу 106
3.3.2. Обработка событий в эталонной странице 108
3.4. Разрабатываем профессиональную эталонную страницу 109
3.4.1. Размечаем страницы с помощью панели Layout 109
3.4.2. Создание разметки для эталонной страницы 109
3.4.3. Разработка дочерней страницы 113
3.4.4. Создание дочерней страницы по прототипу эталонной 115
3.4.5. Организация системы навигации 117
3.5. Программирование эталонной страницы 118
3.5.1. Используем несколько эталонных страниц в проекте 119
3.5.2. Работа с эмулятором браузера 120
3.6. Заключение 121

Глава 4. Пользовательские элементы управления

122
4.1. Написание пользовательских элементов управления в ASP.NET 122
4.1.1. Пользовательские элементы управления как средство для повторного использования форм 123
4.1.2. Основы создания пользовательского элемента управления 123
4.2. Разработка пользовательского элемента управления в Visual Studio 2005 125
4.2.1. Технология связывания пользовательского элемента управления с Web-формой 125
4.2.2. Используем пользовательский элемент управления 127
4.2.3. Обмен данными с пользовательским элементом управления 128
4.2.4. Используем редактируемые свойства 129
4.3. Обработка событий от пользовательских элементов управления 130
4.4. Пользовательские серверные элементы 132
4.4.1. Создаем серверный элемент 133
4.4.2. Атрибуты серверного элемента управления 133
4.4.3. Интегрируем серверный элемент в среду разработки Visual Studio 2005 136
4.5. Обработка событий страницы 137
4.6. Заключение 138

Глава 5. Конфигурация приложения

140
5.1. Система конфигурации в ASP.NET 141
5.1.1. Виртуальный каталог 142
5.1.2. Создаем виртуальный каталог 143
5.2. Файл конфигурации web.config в проекте Visual Studio 143
5.2.1. Структура файла web.config 144
5.3. Мастер конфигурирования приложения 145
5.4. Создаем пользовательскую переменную в файле конфигурации 148
5.5. Разделы конфигурации 150
5.5.1. Раздел <appSettings> 150
5.5.2. Раздел <system.web> 150
5.5.3. Раздел <sessionState> 150
5.5.4. Раздел <customErrors> 151
5.5.5. Раздел <authentication> 151
5.5.6. Раздел <authorization> 152
5.6. Управляем наследованием с помощью тега <location> 152
5.6.1. Атрибут Path и тег <location> 152
5.6.2. Запрещаем переопределение параметров в web.config с помощью атрибута allowOverride 153
5.7. Чтение и запись данных конфигурации 153
5.7.1. Запись данных в файл конфигурации 154
5.8. Шифрование данных конфигурации 155
5.8.1. Что не подлежит шифрованию? 156
5.9. Обработчики событий в ASP.NET 157
5.9.1. Обработчик httpHandler или HTTP-обработчик 157
5.9.2. Некоторые секции раздела <system.web> 158
5.9.3. Изучаем область объявления обработчиков 159
5.9.4. Создаем пользовательский обработчик событий 159
5.10. Заключение 161

Глава 6. База данных пользователей портала

163
6.1. Основы создания Web-портала 164
6.1.1. Модель обработки запроса 165
6.1.2. Проверка подлинности клиента 166
6.1.3. Авторизация пользователя 167
6.1.4. Аутентификация пользователя на форме 168
6.2. Microsoft SQL Server 2005 как средство для хранения данных о пользователе 169
6.2.1. Создание базы данных с помощью Visual Studio 2005 169
6.2.2. Создаем соединение с SQL-сервером 172
6.2.3. Создание таблиц для хранения данных персонализации 173
6.2.4. Строка соединения 175
6.3. Конфигурация узла 175
6.3.1. Мастер конфигурации webadmin.axd 176
6.3.2. Создание ролей 179
6.3.3. Создаем пользователя 180
6.3.4. Создаем права 181
6.3.5. Знакомимся с составом базы данных, хранящей данные о пользователях 184
6.4. Элементы управления регистрацией 187
6.4.1. Класс FormsAuthentication 188
6.4.2. Элемент управления PasswordRecovery 188
6.4.3. Создаем меню для входа в систему 189
6.4.4. Элемент управления LoginStatus 193
6.4.5. Элемент управления LoginView 197
6.4.6. Элемент управления CreateUserWizard 199
6.5. Программные способы управления системой пользователей 200
6.5.1. Класс Membership 201
6.5.2. Класс MembershipUser 203
6.5.3. Программные способы обработки пользователей 204
6.5.4. Диспетчер ролей 205
6.5.5. Создание роли программным способом 207
6.6. Модель работы провайдеров 212
6.7. Персонализация страниц с помощью профилей 213
6.8. Распределенная схема прав для нескольких приложений 216
6.9. Разработка политики конфиденциальности 217
6.10. Заключение 218

Глава 7. Работа с базами данных

219
7.1. Трехуровневая модель приложений 220
7.2. Отсоединенная модель 222
7.2.1. Объект DataSet 222
7.2.2. Связывание с данными при помощи DataBind 223
7.2.3. Особенность связывания с DataSet 224
7.2.4. Использование свойства ViewState 225
7.3. Элементы управления для работы с данными 225
7.3.1. Элементы управления — источники данных 226
7.3.2. Элементы управления для отображения данных 230
7.3.3. События элементов GridView и DetailsView 235
7.4. SQL Server 2005 237
7.4.1. Новые типы данных в SQL Server 2005 237
7.4.2. Работаем с SQL Server 2005 239
7.4.3. Разработка базы данных 240
7.4.4. Декларативное связывание с данными 242
7.5. Связь с Microsoft Access 246
7.5.1. Использование ODBC 250
7.6. Работаем с XML 251
7.7. Вызываем встроенные процедуры 254
7.7.1. Создание новой встроенной процедуры 254
7.7.2. Передача параметров встроенной процедуре 255
7.8. Использование представлений (Views) 257
7.9. Кэширование 260
7.9.1. Способы кэширования в ASP.NET 260
7.9.2. Простейший способ кэширования — кэширование выходных данных 261
7.9.3. Кэширование с помощью провайдеров AccessDataSource и SQLDataSource 262
7.9.4. Зависимости кэша от данных в базе данных SQL 262
7.10. Заключение 263

Глава 8. Навигация и профессиональное оформление сайта

264
8.1. Система навигации сайта 265
8.1.1. Навигация с помощью объектов 265
8.1.2. Переадресация у клиента 265
8.2. Переадресация формы с передачей параметров 266
8.2.1. Переадресация пользователя с помощью объекта Response 266
8.2.2. Свойство PostBackUrl 267
8.2.3. Метод Transfer 270
8.3. Элементы управления навигацией 271
8.3.1. Карта сайта или файл навигации 271
8.3.2. Провайдер данных SiteMapDataSource 273
8.3.3. Панель инструментов для отображения системы навигации 273
8.3.4. Используем элементы управления навигации 274
8.4. Придаем профессиональный внешний вид 280
8.4.1. Создание пользовательских тем 280
8.4.2. Применение темы для страницы 283
8.4.3. Использование файлов стилей (CSS) 284
8.4.4. Привязка файла CSS к Web-странице 287
8.5. Заключение 289

Глава 9. Глобальные ресурсы сервера

290
9.1. Глобальные события в global.asax 291
9.1.1. Время жизни приложения 293
9.1.2. Сессия 293
9.2. Обработка запроса в HTTP Runtime 294
9.2.1. События уровня приложения 299
9.2.2. События уровня сессии 301
9.3. Класс HttpApplication 301
9.3.1. События класса HttpApplication 302
9.3.2. Трассировка событий страницы 304
9.3.3. Динамическая компиляция файла global.asax 309
9.4. HTTP-обработчики и модули в ASP.NET 309
9.4.1. Встроенные HTTP-модули 309
9.4.2. Что использовать — global.asax или HTTP-модули? 311
9.4.3. Написание пользовательских HTTP-модулей 311
9.4.4. Написание пользовательских HTTP-обработчиков или файл с расширением ashx 316
9.4.5. Взаимодействие с внутренними приложениями сервера 317
9.4.6. Приемы и способы регистрации ошибок в ASP.NET 317
9.5. Создание компилированных библиотек 319
9.5.1. Модель использования сборок в инфраструктуре .NET 319
9.5.2. Создание локальных библиотек 321
9.5.3. Получение номера версии сборки программным способом 324
9.5.4. Создаем сборку 324
9.5.5. Создание глобальных библиотек 326
9.5.6. Присвоение версии для глобальных библиотек 326
9.5.7. Технология цифровой подписи 328
9.5.8. Вызываем сборку в сценарии 329
9.6. Заключение 332

Глава 10. Профессиональные приемы разработчика

334
10.1. Динамическое изменение основных компонентов страницы 334
10.1.1. Динамическое создание элементов управления в форме 335
10.1.2. Динамическое изменение в эталонных страницах 336
10.2. Шаблоны проектов 340
10.2.1. Создание шаблона сайта 340
10.2.2. Создание шаблона для отдельных компонентов проекта 342
10.3. Заключение 343

ЧАСТЬ II. Инфраструктура WebPart в ASP.NET 2.0

345
История настраиваемых элементов WebPart в SharePoint 346
Знакомство с порталом SharePoint Services 3.0 346

Глава 11. Инфраструктура портала WebParts

352
11.1. Объектная модель Web-портала 353
11.1.1. Архитектура элементов управления WebPart 354
11.1.2. Панель инструментов WebPart в Visual Studio 355
11.2. Архитектура классов инфраструктуры WebPart 356
11.2.1. Классификация зон 357
11.2.2. WebPartZone 358
11.2.3. CatalogZone 359
11.2.4. DeclarativeCatalogPart 359
11.2.5. PageCatalogPart 359
11.2.6. ImportCatalogPart 360
11.2.7. EditorZone 361
11.2.8. AppearanceEditorPart 362
11.2.9. BehaviorEditorPart 362
11.2.10. LayoutEditorPart 362
11.2.11. PropertyGridEditorPart 362
11.2.12. ConnectionZone 362
11.2.13. Элементы управления WebPart 362
11.3. Режимы отображения формы 364
11.4. Планирование портала 366
11.5. Построение элементов WebPart 367
11.5.1. Работа с элементом управления WebPartManager 367
11.5.2. Работа с WebPartZone 368
11.5.3. Свойства зон 370
11.5.4. Используем стили в элементах WebPart 372
11.5.5. Подробнее об элементе WebPartZone 375
11.5.6. Шаблон ZoneTemplate 376
11.6. Изменяем режим работы формы 378
11.6.1. Создаем элемент управления для управления режимом отображения 379
11.6.2. Добавляем элементы WebPart на страницу 381
11.7. Режим редактирования 381
11.8. Режим Design 392
11.9. Режим каталога 394
11.10. Импорт и экспорт элементов WebPart 398
11.10.1. Экспортируем элемент WebPart 398
11.10.2. Импортируем элемент WebPart 399
11.10.3. Элемент управления DeclarativeCatalogPart 401
11.11. Элементы меню элемента WebPart 404
11.11.1. Ограничиваем редактирование элементов в зоне 405
11.12. Программные способы использования инфраструктуры портала на уровне классов 406
11.12.1. Классы семейства Chrome 411
11.13. Заключение 412

Глава 12. Соединение элементов WebPart

413
12.1. Обмен данными между элементами WebPart 414
12.1.1. Соединение WebPartConnection 416
12.2. Модель соединений WebPart 417
12.2.1. Атрибут [ConnectionProvider] 417
12.2.2. Атрибут [ConnectionConsumer] 418
12.2.3. Зона соединения ConnectionZone 419
12.2.4. Статическое соединение элементов WebPart 420
12.3. Подготовка страницы 421
12.3.1. Создаем страницу 421
12.3.2. Подготавливаем источник 422
12.3.3. Подготавливаем приемник 423
12.4. Обеспечиваем возможность связывания элементов WebPart 426
12.4.1. Создание интерфейса 427
12.4.2. Реализуем интерфейс в источнике 428
12.4.3. Реализация обмена данными 430
12.5. Приемник работает с интерфейсом 431
12.5.1. Создание приемника 431
12.5.2. Создаем соединение 433
12.6. Организация соединений в процессе выполнения формы 436
12.6.1. Работаем с зоной соединения 436
12.7. Как вернуть состояние элементов портала в исходное 440
12.8. Предопределенные интерфейсы 440
12.8.1. Обзор интерфейса IWebPartField 441
12.8.2. Реализация интерфейса IWebPartField в источнике 441
12.8.3. Реализация интерфейса IWebPartField в приемнике 443
12.8.4. Интерфейсы IWebPartTable и IWebPartRow 447
12.8.5. Интерфейс IWebPartParameters 447
12.9. Способы организации соединений 447
12.9.1. Типы соединений 447
12.9.2. Реализация предопределенных соединений 448
12.9.3. Объект WebPartConnection 450
12.9.4. Реализация временных соединений (Transient) 450
12.10. Наблюдение за жизненным циклом событий 451
12.10.1. Жизненный цикл страницы 452
12.10.2. События этапа соединения 453
12.11. Использование несовместимых интерфейсов 453
12.11.1. Создаем пользовательский преобразователь интерфейса 454
12.11.2. Используем предопределенные преобразователи 457
12.12. Заключение 458

Глава 13. Эталонные страницы портала

459
13.1. Организация соединения с помощью Proxy 460
13.1.1. Элемент управления WebPartManager 460
13.1.2. Элемент управления ProxyWebPartManager 460
13.2. Используем ProxyWebPartManager для организации статических соединений в дочерней странице 462
13.2.1. Обмен данными между Источником и Приемником, расположенными в дочерней и эталонной странице 469
13.3. Модель работы провайдера персонализации 471
13.3.1. Какие возможности следует предоставлять пользователям? 473
13.4. Заключение 474

Глава 14. Пользовательские элементы WebPart

475
14.1. Создание пользовательских элементов WebPart 476
14.1.1. Создание ASP.NET WebPart в компилированных сборках 477
14.2. Подробнее о внутренней реализации элементов WebPart 478
14.2.1. Интерфейсы класса WebPart 478
14.3. Разработка элемента управления WebPart 480
14.3.1. Добавление новых пунктов меню 482
14.3.2. Отображение пользовательских элементов verbs 484
14.3.3. Обработка события у клиента 485
14.3.4. Создание пользовательского интерфейса 486
14.3.5. Практическая реализация пользовательского элемента 486
14.3.6. Формат и свойства отображения пунктов меню 492
14.4. Используем элемент PropertyGridEditorPart 493
14.5. Заключение 496

Глава 15. Персонализация

497
15.1. Предпосылки персонализации 498
15.1.1. Какие данные участвуют в персонализации 498
15.2. Персонализация элементов WebPart 499
15.2.1. Процесс записи данных персонализации 500
15.3. Персонализация элементов WebPart 501
15.3.1. Элементы управления WebPart 501
15.3.2. Как персонализация отличается от хранения состояния и можно ли использовать ее самостоятельно? 502
15.4. Модель персонализации элементов WebPart 503
15.4.1. Область совместного использования ресурсов 504
15.4.2. Класс WebPartPersonalization 505
15.4.3. Необходимые компоненты персонализации 507
15.5. Конфигурация системы персонализации 509
15.5.1. Конфигурация проекта для совместного использования ресурсов 509
15.6. Создание пользовательского элемента WebPart 510
15.6.1. Реализация персонализации для свойства пользовательского элемента управления 511
15.6.2. Метод SetPersonalizationDirty 512
15.6.3. Совместное использование свойств для группы пользователей 513
15.6.4. Использование элемента управления BehaviorEditorPart 514
15.7. Провайдер данных персонализации 515
15.7.1. Класс PersonalizationProvider 516
15.7.2. Необходимость в пользовательских поставщиках данных 518
15.8. Пользовательский элемент WebPartManager 519
15.8.1. Класс WebPartAuthorizationEventArgs 519
15.8.2. Свойство AuthorizationFilter 520
15.9. Интерфейсы персонализации 537
15.10. Заключение 537

Глава 16. Разработка сервисных функций портала

539
16.1. Разработка поисковой системы 540
16.1.1. Разновидность поисковых систем 541
16.1.2. Создание пользовательской системы поиска 541
16.1.3. Семантическое ядро запросов 542
16.1.4. Подготовка сайта для регистрации в поисковых системах 542
16.2. Использование поисковых форм известных поисковых систем 543
16.3. Использование Web-служб 545
16.3.1. Распределенные программные средства 546
16.3.2. Технологии, используемые в Web-службах 547
16.3.3. Используем удаленную Web-службу в Visual Studio 549
16.4. Построение эффективных приложений 558
16.4.1. Технология AJAX 559
16.5. Развертывание сайта на удаленном сервере 560
16.5.1. Работаем с локальным информационным сервером IIS 561
16.5.2. Публикуем Web-сайт на удаленный сервер средствами Visual Studio 562
16.6. Заключение 564

ЧАСТЬ III. Решения для портала SharePoint

565
Узел SharePoint 567
SharePoint Services 3.0 и SharePoint Portal Server 2007 567
Интерфейс 568

Глава 17. Aspx-страницы в SharePoint

570
17.1. Создание узла в SharePoint 571
17.1.1. SharePoint Designer 2007 574
17.2. Создание aspx-страницы, совместимой с SharePoint 576
17.2.1. Публикация страницы в SharePoint 578
17.2.2. Редактируем домашнюю страницу средствами SharePoint Designer 579
17.2.3. Конфигурация системы безопасности портала SharePoint 582
17.3. Заключение 582

Глава 18. Инфраструктура WebPart в SharePoint

584
18.1. Инфраструктура WebPart в SharePoint 585
18.1.1. Пространство имен Microsoft.SharePoint 585
18.2. Инфраструктура WebPart в SharePoint Services V3.0 585
18.2.1. Импорт и экспорт WebPart 589
18.2.2. В каких случаях целесообразно использовать класс Microsoft.SharePoint 590
18.3. Пространство имен Microsoft.SharePoint.Portal 591
18.4. Создание WebPart с помощью Visual Studio 2005 595
18.4.1. Интеграция решения 598
18.4.2. Интеграция пользовательского элемента WebPart в SharePont 603
18.4.3. Персонализация элементов WebPart в SharePoint 609
18.5. Использование клиентской формы в WebPart, в SharePoint 610
18.5.1. SharePoint Server и ASP.NET AJAX 614
18.6. Способы улучшения Web-порталов 616
18.6.1. Информационные порталы для совместного использования 616
18.6.2. Характеристики успешных Web-порталов 617
18.7. Заключение 619
Приложения 621
Приложение 1. Обзор элементов управления 623
Обзор часто встречающихся стандартных элементов управления 623
Элементы управления для проверки достоверности данных 628
Элементы управления для отображения данных 629
Элементы управления источники данных 632
Приложение 2. Директивы и основные объекты ASP.NET 2.0 634
Библиография 650
Предметный указатель 651



384 руб.
в наличии*
ориентировочная дата отгрузки: 21.02.2017 (Вт.)
шт.
отложить

|