Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Информационные технологии для разработчиков Разработка веб-приложений с Microsoft .NET


Разработка веб-приложений с Microsoft .NET Framework 4 — Путевые заметки — Часть 5

net_framework

Проверка ввода и навигация по сайту.

Урок 1 — Проверка ввода.

Когда данные пересылаются от браузера к серверу, вы должны убедиться, что данные достоверны.

Проверка на стороне сервера.

Используется с проверяющими элементами управления на странице.
Javascript выполняется, когда пользователь покидает фокус элемента управления на странице.
Вы можете отключить свойство EnableClienScript для определенных элементов управления проверки.
Вы можете включить SetFocusOnError, чтобы недействительные элементы управления автоматически получали фокус.

Установите значение свойства CausesValidation = «false» для элементов управления, которые должны обойти проверку. Например кнопка СБРОС в анкете.

Группы проверки.

Используется, когда вы хотите разбить страницу на разделы, и проверять их независимо.
Используйте свойство ValidationGroup для элементов управления проверки, и элементов управления которые вызывают PostBack.
При PostBack, элементы управления проверки имеющие соответствующее значение ValidationGroup будут подвержены проверке.

Элемент управления ValidationSummary.

Используется, чтобы показать сводку сообщений об ошибках проверки на странице.
Также, он может быть использован в качестве всплывающего окна.

Урок 2 — Навигация по сайту.

Методы навигации от страницы к странице в ASP.NET.

  • Client-side navigation: Нажатие гиперссылки или выполнение Javascript при нажатия кнопки.
    Позволяет пользователю запрашивать новую веб-страницу.
  • Cross-page posting: Для переправки PostBack на другую страницу.
  • Client-side browser redirect: Серверный код отправляет сообщение для браузера, запросить другую веб-страницу с сервера.
  • Server-side transfer: Серверный код переводит управление запросом на другую страницу.

Навигация на стороне клиента.

Чтобы перейти к другой веб-странице, не отправляя данные на сервер.
Пример: Свойство NavigateUrl элементе управления Hyperlink, или document.location в Javascript.

Crosspage posting.

Данные собираются на одной веб-странице и обрабатываются на другой веб-странице, которая отображает результаты.
Вы можете использовать свойство PostBackUrl элемента управления Button, чтобы настроить его на обрабатывающую веб-страницу.
Чтобы получить доступ к данным предыдущей страницы, используйте свойство Page.PreviousPage и FindControl для доступа к данным в конкретных элементах управления.
Вы также можете предоставить доступ к отправленным данным через свойства на странице.
1) Define public properties in data page.
2) Set PreviousPageType directive on processing page.
Ex: get{return TextBox1.Text;}
3) Call the property Page.PreviousPage.MyProperty

Client-side Browser Redirect.

Чтобы перенаправить пользователя на другую страницу после обработки данных.
Use Page.Response.Redirect for doing that.
The Redirect is not a PostBack. PreviousPage property does not get populated.

Server-side transfer.

Для обработки другой веб-страницы без необходимости нового запроса от браузера.
Ex:
Page OrderRequest.aspx has submit button.
On button click you transfer the request to OrderProcessing.aspx by using Page.Server.Transfer method.
You can set preserveForm parameter of Transfer method to true, to keep the form and query string data.
You can also access PreviousPage property.

SiteMap web server control.

XML-файл, который содержит общую структуру и иерархию вашего сайта.
Used to populate ASP.NET navigation controls (NavigationMenu, SiteMapPath, TreeView).
You should add SiteMapDataSource control to the page and set DataSourceID property of navigation control.
Data of site map file is bound automatically.

Урок 3 — Использование Web Parts

Применяются чтобы предоставить пользователям контроль над компонентами, которые появляются на веб-странице.

Некоторые общие WebParts.

  • Список последних новостей
  • Календарь с предстоящими событиями
  • Поле поиска
  • Локальная погода

Любой контроль, стандартный или пользовательский, может выступать в качестве webpart.

WebPart классы.

  • WebPartManager: control, required on every page that includes WebParts.
    It manages all WebParts controls and their events on specific page.
  • CatalogPart: provides user interface to manage group of webparts that can be added to page. This group is sitewide and not just specific for a certain page.
  • PageCatalogPart: only groups page specific webparts. If user closes certain webparts on page, he can use this control to return them to the page.
  • EditorPart: allows user to customize or modify property settings for specified webpart.
  • DeclarativeCatalogPart: allows you to declare webparts that should be available to add to a page or to entire site.
  • WebPartZone: to define area on page in which webparts can be hosted.
  • EditorZone: provides area on page where EditorPart control can exist.
  • CatalogZone: defines area in which CatalogPart control can exist on page.

В ASP.NET WebParts нуждаются в базе данных ASP.NET personalization, для отслеживания пользовательских настроек для конкретной веб-части и страницы веб-части.
Эта база данных, ASPNETDB, устанавливается Visual Studio при первом запуске страницы содержащей webpart.
По умолчанию, это база данных SQL Server Express, которую можно обновить при желании.

Определание WebPart-зон.

Зоны определяют области на странице, в которых веб-части могут быть размещены.
Зона имеет ширину, высоту, и размещение на странице.
Зоны также позволяют установить общие стили для веб-части, такие как: заголовок, меню, границы и т.д.
Вы можете создать веб-части, как стандартный элемент управления пользователя, существующий элемент управления ASP.NET или пользовательский элемент управления.

Building webparts with user controls.

You need to add user control to WebPart zone.

1) Register control with the page by adding @Register directive on top of page.
2) Add control to WebPart zone, inside ZoneTemplate declaration.

Creating webpart from existing ASP.NET control.

Insert standard ASP.NET control inside <ZoneTemplate> element.

Enabling users to arrange and edit webparts.

You change the display mode of webparts on page by using WebPartManager control, setting its DisplayMode property in code-behind.

Display Modes.

  • BrowseDisplayMode: default mode. Standard way in which users browse webpages.
  • DesignDisplayMode: enables users to drag webparts to different locations.
  • EditDisplayMode: users can drag webparts, adn edit the title, size, direction, window appearance, and zone of webparts. To use this mode, add EditorZone control to webpage and AppearanceEditorPart and/or LayoutEditorPart.
  • CatalogDisplayMode: enables users to add additional webparts specified in CatalogZone control.
  • ConnectDisplayMode: enables users to manually establish connections between controls, using ConnectionZone control.

Connecting webparts.

Connections are useful for consumer-oriented websites.
Ex: may webparts on site display localized information based on user’s postal code. User specifies his postal code only once, in one specialized webpart adn other webparts can connect to it.

Static connection.

Established during development process, permanent and cannot be changed by user.

Steps:

  1. Create provider WebPart with public method, with ConnectionProvider attribute. It will return the value that consumer will receive.
  2. Create consumer WebPart with public method, with ConnectionConsumer attribute.
  3. Create webpage with WebPartManager control and add WebPartZone container.
  4. Add your provider and consumer webparts to WebPartZone container.
  5. Add connection information to WebPartManager. You should have one WebPartConnection control for each pair of connected controls.

Dynamic connections.

Can be established by user.

Steps:

  1. Create page with Provider and Consumer connection.
  2. Establish optional static connection by default between provider and consumer.
  3. Add ConnectionZone control to webpage.
  4. Add control to enable user to enter connect mode.
 

В избранное