16
ASP.Net 2.0 - Navegação em Sites Site Navigation API

ASP.Net 2.0 - Navegação em Sites

  • Upload
    lavey

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

Site Navigation API. ASP.Net 2.0 - Navegação em Sites. Novos serviços da ASP.Net 2.0. ASP.Net 2.0 disponibiliza um conjunto de serviços (“application sevices”) que ajuda os programadores de aplicações a construir funcionalidades avançadas com cada vez menos código. - PowerPoint PPT Presentation

Citation preview

Page 1: ASP.Net 2.0 - Navegação em Sites

ASP.Net 2.0 - Navegação em Sites

Site Navigation API

Page 2: ASP.Net 2.0 - Navegação em Sites

2

Novos serviços da ASP.Net 2.0 ASP.Net 2.0 disponibiliza um conjunto

de serviços (“application sevices”) que ajuda os programadores de aplicações a construir funcionalidades avançadas com cada vez menos código.

O serviço de Navegação num Web Site assenta: numa infra-estrutura capaz de suportar

a navegação, e em bons controlos de visualização

Menu, TreeView e SiteMapPath

Page 3: ASP.Net 2.0 - Navegação em Sites

3

A infra-estrutura de Navegação A infra-estrutura de navegação assenta em dois

elementos : Mapa do Site - contentor lógico para a colecção

hierárquica dos nós, cada um representando uma página da aplicação ou directório.O mapa do site está representado num ficheiro XML. Este file será transformado no objecto SiteMap

ProviderElemento capaz de aceder aos dados de navegação do mapa do site e disponibilizar essa informação aos novos controlos

Esta infra-estrutura pode ser personalizada através da construção de novos controlos e da criação de novos providers

Page 4: ASP.Net 2.0 - Navegação em Sites

4

O Mapa do Site Tem uma estrutura arborescente cujo nó de topo é

um nó do tipo siteMapNode que é a página de topo.

O elemento raíz do XML não é o nó de topo mas é

um nó do tipo siteMap.

A estrutura de navegação pode estar definida em

vários ficheiros.

O atributo SiteMapFile, do elemento siteMap, indica

o caminho até ao ficheiro que contém os nós filhos

do nó actual.

Os ficheiros de navegação são normalmente

guardados na raíz do site com o nome web.sitemap

pois por omissão o provider procura esse ficheiro

Page 5: ASP.Net 2.0 - Navegação em Sites

5

Comunicação entre os Controlos e a Infra-estrutura

Ficheiro XML com definição dos nós (web.sitemap)

SiteMapProvider (Provider por omssão)

Controlos Menu, TreeView,SiteMapPah,...

SiteMapDataSource Consulta informação sobreo provider configurado

Ficheiro Configuração define o Provider

Page 6: ASP.Net 2.0 - Navegação em Sites

6

A infra-estrutua Alguns controlos conseguem obter os

dados directamente do Provider Outros controlos precisam de um

intermediário (SiteMapDataSource) para obter essa informação

A configuração do provider é feita através de uma entrada no ficheiro de configuração

A plataforma fornece um provider capaz de interpretar um ficheiro XML designado por web.sitemap

Page 7: ASP.Net 2.0 - Navegação em Sites

7

Controlos de Navegação ASP.Net fornece-nos alguns controlos

adequados à navegação e identificação da pagina no site.

Só o controlo SiteMapPath é capaz de obter os dados diectamentea partir do provider.

Os controlos Menu e TreeView têm um formato hierárquico. A comunicação entre estes controlos e os nós definidos no ficheiro web.sitemap deve ser feita através do controlo SiteMapDataSource.

Page 8: ASP.Net 2.0 - Navegação em Sites

8

SiteMapDataSource Este controlo é capaz de retornar os dados

existentes no ficheiro sitemap sob a forma hierárquica ou sob a forma tabular. O controlo expõe várias propriedades que permitem configurar os resultados devolvidos pela classe

<asp:TreeView runat=“server” ID=“tree” DataSourceID=“source” />

<asp:SiteMapDataSource runat=“server” ID=“source”

Algumas propriedades:

SiteMapProvider - permite definir o provider ShowStartingNode -StratFromCurrentNode StartingNodeOffsetStartingNodeURL

Page 9: ASP.Net 2.0 - Navegação em Sites

9

Controlo SiteMapPath Este controlo consegue obter os dados

directamente do provider SiteMap <asp:SiteMapPath runat=“server” ID=“map”/> Propriedades de estilo:

CurrentNodeStyle, HoverNodeStyle, NodeStyle, PathSeparatorStyle,...

Templates: CurrentNodeTemplate, NodeTemplate,

PathSeparatorTemplate, RootNodeTemplate

O provider XMLSiteMapProvider retorna uma colecção de elementos do tipo SiteMapNodeItem que alimenta os nós do controlo

Page 10: ASP.Net 2.0 - Navegação em Sites

10

<asp:SiteMapPath runat=“server” ID=“map”OnItemDataBound=“ProcessDataBound”>

<CurrentNodeTemplate>

<asp:TextBox runat=“server” ID=“t1” Text=‘<%# Eval(“Title”) %>’ />

</CurrentNodeTemplate>

</asp:SiteMapPath> O controlo gera o evento ItemCreated quando um novo

elemento do tipo SiteMapNodeItem é criado e adicionado à colecção do controlo

O evento ItemDataBound é gerado após uma operação de binding entre um elemento do tipo SiteMapNodeItem e o nó respetivo da fonte de dados.

Os dois eventos anteriores são do tipo Site

Page 11: ASP.Net 2.0 - Navegação em Sites

11

Criar o Mapa do Site Criar o ficheiro XML que representa as relações entre todas as

páginas da aplicação

Criar um Site Map

Add New Item -> Site Map

Abrir o file web.sitemap e completá-lo

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns=

"http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode url="Default.aspx" title="Default Page“ description="">

<siteMapNode url="Pagina1.aspx" title="My First Page" description="" />

<siteMapNode url="Pagina2.aspx" title="My Second Page" description="" />

</siteMapNode>

</siteMap>

Page 12: ASP.Net 2.0 - Navegação em Sites

12

Inserir os controlos de navegação

Os controlos de navegação TreeView e

Menu podem ser usados para visuaizar

informação hierárquica.

Ambos foram criados para funcionar em

vários cenários:

Visualizar informação estática

Visualizar Informação de um site-map

Visualizar Informação de Base de Dados

Page 13: ASP.Net 2.0 - Navegação em Sites

13

O controlo Menu

A partr da Toolbox , na secção de

Navigation, arrastar o controlo Menu

Em Menu Tasks, em Choose Data

Source seleccionar <New Data

Source>

No Data Source Coniguration

Wizard, seleccionar SiteMap e OK.

Aparece um novo SiteMap no painel

Page 14: ASP.Net 2.0 - Navegação em Sites

14

O controlo TreeView A partr da Toolbox , na secção de

Navigation, arrastar o controlo TreeView Em Menu Tasks, em Choose Data Source

seleccionar <New Data Source> No Data Source Configuration Wizard,

seleccionar SiteMap e OK. Seleccionar Auto Format

Existe uma variedade de estilos Seleccionar Bullet List e OK Aparece um novo SiteMap no painel

Page 15: ASP.Net 2.0 - Navegação em Sites

15

Segurança através de Roles O atributo roles do elemento siteMapNode

permite indicar quais os roles que podem aceder a um nó.

O provider tem que ter definido o atributo securityTrimmingEnabled com o valor true para que garantir que o nó é apresentado somente a um conjunto de roles.

A utilização de roles implica a activação do serviço de roles. No ficheiro de configuração <rolemanager enabled=“true”/>

Depois é preciso definir as regras de autorização.

Page 16: ASP.Net 2.0 - Navegação em Sites

16

Regras de autorização Definir as regras de autorização para garantir só os

acessos autorizados

<location path=“/c1/pag1.aspx” allowOverride=“false><system.web>

<authorization>

<allow roles=“editores”/>

<deny users=*,?”/>

</ system.web>

</location>

Isto garante que o nó é apresentado ao utilzador certo e impede um utilizador de aceder directamente a um recurso (através da introdução directa do link) para o qual não tem auorização