Demonstra Passo a passo: Ligação para um objeto de negócios personalizado de dados

Muitos aplicativos da Web são criados usando várias camadas, com um ou mais componentes contidos na camada no meio para fornecer acesso a dados.Microsoft Visual Web Developer includes a wizard that helps you create a data component you can use as a middle-tier data object, as described in Demonstra Passo a passo: Páginas da Web com um componente de dados do Visual Studio de vinculação de dados.

Entretanto, você também pode desejar criar um objeto corporativo personalizado, em vez contar com o componente de dados criado pelo o assistente.Criar um objeto corporativo personalizado permite que você implemente suas próprias lógicas corporativa.Esta explicação passo a passo ilustra como criar um objeto corporativo básico que você pode usar como uma fonte de dados para páginas da Web do ASP.NET.

Durante este explicação passo a passo, você aprenderá como:

  • Criar um componente que pode retornar dados para um página da Web.O componente usa um arquivo XML para seus dados.

  • Fazer referência a objeto corporativo como uma fonte de dados em uma página da Web.

  • Acoplar um controle para os dados retornados pelo objeto corporativo.

  • Ler e gravar dados, usando o objeto corporativo.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

  • O Visual Web Developer (Visual Studio).

  • O .NET Framework.

Esta explicação passo a passo presume que você tenha uma compreensão geral de como usar o Visual Web Developer.

Criando o Site Web

If you have already created a Web site in Visual Web Developer (for example, by following the steps in Demonstra Passo a passo: Criando um Basic página da Web no Visual Web Developer), you can use that Web site and go to the next section, "Creating an XML File for Business Data." Caso contrário, crie um site e uma página novos, seguindo estas etapas.

Para criar um site do sistema de arquivos

  1. Abra o Visual Web Developer.

  2. No menu File, clique em NewWeb Site.

    The Novo site caixa de diálogo é exibida.

  3. Em O Visual Studio installed templates, clicar Site da Web do ASP.NET.

  4. Na caixa Location, insira o nome da pasta onde você deseja manter as páginas do seu site.

    Por exemplo, digite o nome da pasta C:\WebSites.

  5. Na lista Language, clique a linguagem de programação com a qual você prefere trabalhar.

  6. Clique em OK.

    Visual Web Developer cria a pasta e uma nova página chamada Default.aspx.

Criando um arquivo XML para dados corporativos

No procedimento a seguir, você criará um arquivo XML simples para os dados de componentes Business.

Para criar o arquivo XML

  1. No Solution Explorer, clique com o botão direito do mouse App_Data, e então clique em AddNew Item.

    Observação:

    Certifique-se de que você criou o arquivo XML na pasta App_Data.A pasta App_Data tem as permissões definidas sobre ela que permitirá que a página da Web leia e grave dados para o arquivo XML.

  2. Em Modelos Instalados do Visual Studio, clique em Arquivo XML.

  3. No Nome caixa, digite Authors.XML.

  4. Clique em Adicionar.

    Um novo arquivo XML é criado contendo somente a diretiva XML.

  5. Copie os seguinte dados XML e cole-os para o arquivo, sobrescrevendo o que já estiver no arquivo.

    O arquivo XML inclui informações de esquema que identifica a estrutura do banco de dados dos dados, incluindo uma restrição de chave primária para a chave.

    Observação:

    Componentes Business podem trabalhar com dados em qualquer forma que seja adequada para seu aplicativo.Esta explicação passo a passo usa um arquivo XML.

    <?xml version="1.0" standalone="yes"?>
    <dsPubs xmlns="http://www.tempuri.org/dsPubs.xsd">
    <xs:schema id="dsPubs" targetNamespace="http://www.tempuri.org/dsPubs.xsd" xmlns:mstns="http://www.tempuri.org/dsPubs.xsd" xmlns="http://www.tempuri.org/dsPubs.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
        <xs:element name="dsPubs" msdata:IsDataSet="true">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="authors">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="au_id" type="xs:string" />
                    <xs:element name="au_lname" type="xs:string" />
                    <xs:element name="au_fname" type="xs:string" />
                    <xs:element name="au_phone" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:choice>
          </xs:complexType>
          <xs:unique name="Constraint1" msdata:PrimaryKey="true">
            <xs:selector xpath=".//mstns:authors" />
            <xs:field xpath="mstns:au_id" />
          </xs:unique>
        </xs:element>
      </xs:schema>
      <authors>
        <au_id>172-32-1176</au_id>
        <au_lname>West</au_lname>
        <au_fname>Paul</au_fname>
        <au_phone>408 555-0123</au_phone>
      </authors>
      <authors>
        <au_id>213-46-8915</au_id>
        <au_lname>Gray</au_lname>
        <au_fname>Chris</au_fname>
        <au_phone>415 555-0120</au_phone>
      </authors>
    </dsPubs>
    
  6. Salve o arquivo Authors.xml, e feche-o.

Criando um componente

A próxima etapa é para criar uma classe para atuar como o seu componente de negócios.Você irá manter o componente na pasta App_Code do site da Web.Em um aplicativo real, você pode manter o componente em qualquer armazenamento conveniente, incluindo o cache global de assemblies.Se seu site não tiver uma pasta chamada App_Code, você deve criar uma.

Para criar uma pasta App_Code

  • No Solution Explorer, clique com o botão direito do mouse no nome de seu site, clique Add ASP.NET Folder, e em seguida, clique em App_Code.

    Observação:

    A pasta deve ser nomeada App_Code.

Agora você poderá adicionar o componente ao seu site.

Para criar o componente Business

  1. Na Solution Explorer, clique com o botão direito do mouse, na pasta App_Code e clique Add New Item.

    Observação:

    Certifique-se de criar o novo item na pasta App_Code.

    The Adicionar novo item caixa de diálogo é exibida.

  2. Em Visual Studio installed templates, clique em Class.

  3. Na caixa Language, clique na linguagem de programação que você preferir.

  4. No Nome caixa, digite BusinessObject.

  5. Clique em Adicionar.

    O Visual Web Developer cria o novo arquivo de classe e abre o editor de códigos.

  6. Copie o seguinte código, e cole-o para o arquivo, sobrescrevendo o que já estiver no arquivo.

    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Web
    Imports System.Data
    Namespace PubsClasses
        Public Class AuthorClass
            Private dsAuthors As DataSet = _
                New System.Data.DataSet("ds1")
            Private filePath As String = _
               HttpContext.Current.Server.MapPath _
                   ("~/App_Data/authors.xml")
            Public Sub New()
                dsAuthors.ReadXml(filePath, Data.XmlReadMode.ReadSchema)
            End Sub
    
            Public Function GetAuthors() As DataSet
                Return dsAuthors
                End Function
            End Class
    End Namespace
    
    using System;
    using System.Web;
    using System.Data;
    namespace PubsClasses
    {
        public class AuthorClass
        {
            private DataSet dsAuthors = new DataSet("ds1");
            private String filePath =
                HttpContext.Current.Server.MapPath
                    ("~/App_Data/Authors.xml");
            public AuthorClass()
            {
                dsAuthors.ReadXml (filePath, XmlReadMode.ReadSchema);
            }
            public DataSet GetAuthors ()
            {
                return dsAuthors;
            }
        }
    }
    
    Observação:

    Make sure the value of the filePath variable references the name of the XML file that you created previously.

    Quando uma instância da classe é criada, ele lê o arquivo XML e converte em um DataSet.The class's GetAuthors method returns the dataset.

  7. Salve o arquivo.Você deve salvar o arquivo para que a próxima seção funcione corretamente.

Exibindo dados usando o componente Business

Você pode chamar o componente Business em uma página da Web e exibir seus dados.To reference the component, you use an ObjectDataSource control, which is specifically designed to work with objects.

Para criar um controle ObjectDataSource que referencia o componente

  1. Alterne para ou abra a página Default.aspx.

    Observação:

    Se você não tem uma página Default.aspx, você pode usar outra página.Como alternativa, você pode adicionar uma nova página para o site.No Solution Explorer, clique com o botão direito do mouse no nome do site, clique em Add New Item, e adicione. um Web Form

  2. Alternar para modo Design.

  3. No Toolbox, a partir da pasta Data, arraste um controle ObjectDataSource para dentro da página.

  4. Na janela Propriedades, defina ID como AuthorsObjectDataSource.

  5. Clique com o botão direito do mouse no controle ObjectDataSource e em seguida, clique na marca inteligente para exibir o Menu ObjectDataSource Tasks.

  6. No menu ObjectDataSource Tasks, clique em Configure Data Source.

    O assistente Configure Data Source aparece.

  7. Na lista Choose your business object, clique PubsClasses.AuthorClass.

  8. Clique em Next.

  9. Na guia Select, na lista Choose a method, clique em GetAuthors(), returns Dataset.

    O método GetAuthors é definido na classe Business criada anteriormente.Ele retorna um DataSet contendo os dados do arquivo Authors.xml.

  10. Clique em Finish.

    The configuration information you have entered specifies that to get data from the component, the component's GetAuthors method should be called.

    Observação:

    The name of the method you specify for the SelectMethod property is case-sensitive, even if you are programming in Visual Basic .NET.

You can now get data from the component by using the ObjectDataSource control.You will display the data in a GridView control on the page.

Para exibir dados do componente

  1. No Toolbox, a partir da pasta Data, arraste um controle GridView para a página.

  2. Clique com o botão direito do mouse no controle GridView e clique na marca inteligente se o Menu Common GridView Tasks não estiver aparecendo.

  3. No menu Common GridView Tasks, na caixa Choose Data Source, clique em AuthorsObjectDataSource.

  4. Pressione CTRL+F5 para executar a página.

    O controle GridView é exibido com o dados XML dentro dele.

Inserindo dados usando o componente Business

As with other data source controls, such as the SqlDataSource control, the ObjectDataSource control supports updating (inserting, updating, and deleting).Nesta seção, você modificará o componente Business com um método que insere um registro autor.Then you will change the page so that users can type new author information and modify the ObjectDataSource control to perform the insertion.

Observação:

Durante esta parte da explicação passo a passo, o arquivo Authors.xml que você criou anteriormente será atualizado.É importante que o aplicativo tenha permissão para gravar no arquivo em tempo de execução ou a página da Web exibirá um erro quando você tentar atualizar o arquivo.Se você tiver criado o arquivo Authors.XML na pasta App_Data, as permissões são definidas automaticamente.

Para modificar o componente Business para permitir inserção

  1. Switch to the BusinessObject file.

  2. Add the following method as the final member of AuthorClass.

    Public Sub InsertAuthor(ByVal au_id As String, _
            ByVal au_lname As String, _
            ByVal au_fname As String, ByVal au_phone As String)
        Dim workRow As DataRow = dsAuthors.Tables(0).NewRow
        workRow.BeginEdit()
        workRow(0) = au_id
        workRow(1) = au_lname
        workRow(2) = au_fname
        workRow(3) = au_phone
        workRow.EndEdit()
        dsAuthors.Tables(0).Rows.Add(workRow)
        dsAuthors.WriteXml(filePath, Data.XmlWriteMode.WriteSchema)
    End Sub
    
    public void InsertAuthor (String au_id, String au_lname, 
        String au_fname, String au_phone)
    {
        DataRow workRow = dsAuthors.Tables[0].NewRow ();
        workRow.BeginEdit ();
        workRow[0] = au_id;
        workRow[1] = au_lname;
        workRow[2] = au_fname;
        workRow[3] = au_phone;
        workRow.EndEdit ();
        dsAuthors.Tables[0].Rows.Add (workRow);
        dsAuthors.WriteXml (filePath, XmlWriteMode.WriteSchema);
    }
    
    Observação:

    Pay close attention to the names of the variables used to pass author information into the method (au_id, au_lname, au_fname, and au_phone).Eles devem corresponder aos nomes de coluna definidos no esquema do arquivo XML criado anteriormente.

    O novo método tem quatro valores para inserir, que você irá fornecer na página como parâmetros.O método cria uma nova linha no DataSet, e grava o DataSet atualizado de saída como um arquivo XML.

  3. Salve o arquivo.

A próxima etapa é alterar a página para que os usuários possam inserir novas informações de autor.For the following procedure, you will use the DetailsView control.

Para adicionar um controle para inserir dados

  1. Alterne para ou abra a página Default.aspx.

  2. Alternar para modo Design.

  3. Em Toolbox, a partir da pasta Data, arraste um controle DetailsView para a página.

    Observação:

    O layout exato da página não é importante.

  4. No menu DetailsView Tasks, na caixa Choose Data Source, clique em AuthorsObjectDataSource.

    Observação:

    Se não estiver visível, no menu DetailsView Tasks clique na marca inteligente.

  5. In the Properties window, set AutoGenerateInsertButton to true.

    Isso faz com que o controle DetailsView processe um botão New que os usuários podem clicar para colocar o controle no modo de entrada de dados.

Finally, you must configure the ObjectDataSource control to specify what action the control should take to insert data.

Para configurar o controle da fonte de dados para inserir dados

  • clicar com o botão direito do mouse em AuthorsObjectDataSource, click Propriedadese, em seguida, conjunto InsertMethod para InsertAuthor.

    Este é o nome do método adicionado para o componente Business.

Agora você pode inserir novos autores no arquivo XML.

Para testar a inserção

  1. Pressione CTRL+F5 para executar a página Default.aspx.

  2. No controle DetailsView, clique no botão New.

    O controle é reexibido com caixas de texto.

  3. Insira novas informações de autor, e clique Insert.

    As novas informações de autor são adicionadas ao arquivo XML.O controle GridView imediatamente reflete o novo registro.

Próximas etapas

Esta explicação passo a passo ilustra como trabalhar com um componente de dados.Você pode desejar testar recursos adicionais de navegação.Por exemplo, você pode desejar:

Consulte também

Tarefas

Demonstra Passo a passo: Páginas da Web com um componente de dados do Visual Studio de vinculação de dados

Passo-a-passo: Usando código compartilhado em sites da Web no Visual Web Developer

Demonstra Passo a passo: Criando um Basic página da Web no Visual Web Developer

Conceitos

Visão geral sobre controles fonte de dados

Usando parâmetros com controles de fonte de dados