1 / 16

ASP.Net 2.0 - Navegação em Sites

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.

lavey
Download Presentation

ASP.Net 2.0 - Navegação em Sites

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Site Navigation API 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

  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

  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

  5. Comunicação entre os Controlos e a Infra-estrutura Ficheiro XML com definição dos nós (web.sitemap) Controlos Menu, TreeView,SiteMapPah,... SiteMapProvider (Provider por omssão) SiteMapDataSource Consulta informação sobreo provider configurado Ficheiro Configuração define o Provider

  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

  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.

  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

  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

  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

  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 MapAdd 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>

  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

  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

  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 FormatExiste uma variedade de estilos • Seleccionar Bullet List e OK • Aparece um novo SiteMap no painel

  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.

  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

More Related