ASP.NET – Área Administrativa

20 Comentários

Estamos de volta com mais um tutorial sobre ASP.NET. Hoje iremos começar a criar a área de administração do nosso site. Vamos poder criar empresas, localidades, apagar comentários, ver votações, etc.. Fiquem atentos e participem neste brainstorming de programação.


No último tutorial criamos o nosso modelo de dados e definimos os níveis de acesso da aplicação. Com a definição desses níveis é agora possível adicionar funcionalidades que apenas estão disponíveis para os administradores do nosso site.

1.Administração

Vamos começar por adicionar uma nova páginas por cada tabela na nossa entidade dentro da pasta admin, para assim essas páginas ficarem apenas visíveis a utilizadores com perfil Admin. Estas novas páginas têm de referenciar a master page “Site.Master”.

No final iremos ficar com estas páginas.

De seguida vamos editar a página Empresas.aspx . Adicionamos um titulo, um parágrafo e um Panel, este último irá conter a GridView. O Panel servirá para possibilitar o scroll quando a grid se expande no modo de edição.

Vamos adicionar uma gridView e coloca-la dentro do panel:

De seguida entramos no mode de design e adicionamos uma EntityDataSource à GridView com o nome “EntityDataSourceEmpresas”, configuramos a ligação e escolhemos como entidade a Tabela Empresas. Marcar todas as checkboxes.

De seguida seleccionamos todo o texto “Criar empresa” e carregamos no icone “Convert to Hyperlink” e escolhemos a página de destino “Create_Empresa.aspx”, ou então no código adicionamos uma tag “<a>” com href para a página.

Vamos abrir a página Create_Empresa.aspx. Nesta página vamos adicionar um titulo, um link que permite voltar à lista de empresas e uma form que vai permitir adicionar os novos valores para uma empresa. Para esta form é adicionada uma nova EntityDataSource, tal e qual como foi configurada anteriormente. Vamos colocar a opção por defeito da form como insert.

De seguida vamos editar o template de insert da nossa form e vamos adicionar uma dropDownList que irá conter as localidades existentes na base de dados. Criamos uma nova entityDatasource que irá apontar para a tabela localidades.  Definimos o Display com a propriedade “Nome” e o value com a propriedade “Id”.

Depois editamos os databindings da dropDownlist e colocamos como binding do SelectedValue a propriedade que faz Bind com a tabela Empresas, neste caso a LocalidadeId. Adicionamos um campo oculto que vai conter a Data de criação do registo.

Para inserirmos a data de criação de registo podemos fazê-lo na base de dados com um campo default ou um trigger. Neste caso vamos fazê-lo no evento ItemInserting do form, onde colocamos o valor da data actual no campo DataCriacao.

Para podermos ver estas alterações em funcionamento, vamos criar os novos items no nosso menu de navegação. Vamos abrir a master page, “Site.Master”

Como podemos ver estas novas páginas foram colocadas num sub-menu do menu Admin. Vamos correr a nossa aplicação e testar as novas funcionalidades. Depois de fazer o login, podemos verificar os novos itens no menu.

Escolhemos a opção Empresas e vemos a nossa lista de empresas ( estão no projecto os inserts necessáros para criar as empresas e localidades). Neste ecrã podemos editar, criar e apagar empresas. Ao escolhermos a opção criar empresa, somos redireccionados para a página de criação. Onde podemos preencher os campos necessários e conseguimos ver uma lista de Localidades.

2. Conclusão

Por hoje damos o tutorial por terminado. No próximo tutorial vamos terminar as nossas páginas e começar a tratar do layout. Em baixo podem fazer download do projecto (Visual Studio 2010). Caso tenham alguma questão já sabem, deixem um comentário em baixo.

Download: GoodToWork [ 331Kb ]

Autor: Pplware
Partilhar:

Comentários

20

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Bruno
    Bruno

    mt bom para quem se quer iniciar, Obrigado

  2. Avatar de chicosoft

    Parece que adivinham o que eu preciso… Obrigado… Preciso mesmo deste tutorial para esta semana 😀

    Obrigado

  3. Avatar de Paulo Henrique
    Paulo Henrique

    Henrique muito bom o tutorial.
    Sou um estudante e aprendiz da tecnologia e estou aprendendo muito com os seus tutoriais.
    Futuramente gostaria que você ensinasse sobre USER CONTROLS.

    Abraços!!!

  4. Avatar de bolger
    bolger

    Bom Noite. Desde já obrigado por este tutoriais que tens aqui apresentado.Quanto a este tutorial tenho uma duvida. Como é que configuraste o entity data source na grid view, é que já estou adei aqui às voltas e não consigo configurar isso.

    Abraços!

    1. Avatar de Henrique Graça

      Viva.

      Para adicionar a datasource começa a ver o tutorial a partir da 6ª imagem.
      Escolhes a opção choose datasource da GridView e a partir dai é fazer next.

      Cumprimentos.

      1. Avatar de Bruno
        Bruno

        Boa tarde Henrique,

        Chamo-me Bruno e estou a desenvolver uma aplicação muito simples em ASP.NET / VB.NET em que basicamente tenho uma página de login e na 2ª página tenho uma tabela com os meus certificados e diplomas de cursos que fiz.

        Estou a fazer esta aplicação com o objectivo de dar o link nas ofertas de emprego a que me candidato.

        O meu problema é que na Master Page tenho uma div com uma imagem e a mesma não aparece nas páginas “.aspx”.

        Quando trabalho no Visual Studio tudo parece funcionar bem, mas quando coloco a aplicação no localhost a imagem que coloquei na master page não aparece. Já verifiquei as permissões e tudo me parece bem. Inclusivamente, já fui ao ficheiro Web.config e fiz:

        Continua a não funcionar. O Henrique poderia-me ajudar, s.f.f.? Esta aplicação é muito importante para mim!

        Obrigado.

        Melhores cumprimentos,

        Bruno

  5. Avatar de Nuno
    Nuno

    Antes de mais, parabéns pelo excelente trabalho.

    Estou a seguir o tutorial, mas não consegui adicionar o datasource à gridview.
    No ecran “Configure ObjectContext” tenho de escolher a ConnectionString mas não me aparece nenhum valor no campo “Named Connection”. Pelo que percebi o EntityModel deveria ter criado uma connectionString no webconfig. Como resolver?

    Não consegui fazer o download do código fonte.

    Obrigado

    1. Avatar de João Branco
      João Branco

      Estou com o mesmo problema que o Nuno,
      quando adiciono a GridView e vou configurar a dataSource dela aparece-me um ecrã para escolher a ConnectionString:
      ->Named Connection;
      -> Connection String;
      Quando clico na Named Connection não me aparece o “GoodToWorkEntityContainer”.

      1. Avatar de Henrique Graça
        Henrique Graça

        Ola Nuno, João.
        Num tutorial anterior eu explico como criar a ligação

        https://pplware.sitedev.pt/tutoriais/asp-net-%E2%80%93-membership/

        Em suma é preciso ter no web.config uma entrada no nó connectionstrings com o nome GoodToWorkEntityContainer. Em baixo:

  6. Avatar de Luis Ramos
    Luis Ramos

    Muito bom tutorial… quando sai a próxima lição?

  7. Avatar de Luis Vieira
    Luis Vieira

    Boas,

    Eu sei que provavelmente este não é local mais indicado para fazer isto mas cá vai!

    Eu tenho uma aplicação asp e precisava de ler dados da porta COM no lado do cliente? Isto é possível de se fazer sem ter de criar uma aplicação intermédia que esteja instalada no cliente?

    Obrigado

  8. Avatar de Lucas
    Lucas

    Olá Henrique, irá lançar as próximas lições?

  9. Avatar de joao
    joao

    boas,

    eu tentei fazer o donwload , estou a inicializar asp agora ..
    e quando corro o programa , da a mensagem que nao e possivel aceder a BD.

    Alguem me pode ajudar ?

  10. Avatar de João Oliveira
    João Oliveira

    Boa noite, estes tutoriais de memberships e admin, também se aplicam a quem comece um probjecto mas que seja de website?
    Abraço e continuação com os tutorias, sempre dão grande ajuda 🙂

  11. Avatar de Rafael Martins Cardoso

    Olá Henrique Graça,

    Tenho uma duvida. Inicialmente tinha o mesmo problema que o @João Branco, mas depois de alterar Web.config com a connection que está presente no App.config dá me este erro:

    “The metadata specified in the connection string could not be loaded. Consider rebuilding the web project to build assemblies that may contain metadata. The following erro(s) occured: Unable to load the specfied metadata resource.”

    Já fiz clean & build, e continua com o erro sem eu conseguir passar daqui.

    What I have missed?

    Deixo aqui os links das imagens,

    (Antes de adicionar connectionString no Webconfig)
    http://www.rafaelcardoso.com/dl/antes.jpg

    (Depois de adicionar connectionString no Webconfig)
    http://www.rafaelcardoso.com/dl/depois.jpg

  12. Avatar de Pedro
    Pedro

    O que houve com a continuidade dos tutoriais de asp .net ? há mais de 1 ano sem nada =/ sempre me foram de grande ajuda

      1. Avatar de Miguel Costa
        Miguel Costa

        Era muito bom se este conjunto de tutoriais não ficasse por aqui 😉

      2. Avatar de iMatos
        iMatos

        Então Pedro Pinto?

        Existe continuação ou não?!
        Abraço e continuem com o vosso bom trabalho!!!!!