Programmeren in ASP.net 2.0 N-Tier Tutorial/Presentation Laag

Programmeren in ASP.net 2.0 N-Tier Tutorial

Algemeen
  1. Visual Studio Solution
  2. Data-laag
  3. Common-laag
  4. Data Access-laag
  5. Business Services-laag
  6. Presentation-laag
  7. Berichtenbordfunctionaliteit

Deze laag maakt de data zichtbaar voor de gebruiker. Deze laag kan verschillende vormen van presentatie bevatten: Winforms, webforms, PDA, WAP, ... In ons project werken we met een ASP.net-website.

De eerste webpagina

bewerken
  1. Rechtermuisklik op MessageBoard.Presentation.Website
  2. Kies Add Reference
  3. Voeg een referentie toe naar MessageBoard.Common en MessageBoard.Business.Services
  4. Open Default.aspx
  5. Voeg de volgende verwijzingen toe bovenaan de pagina:
using MessageBoard.Common.DataSets;
using MessageBoard.Business.Services;
  1. Sleep een GridView vanuit de Toolbox op de Designer Surface en geef hem als naam gvMessages.

Gridview opvullen

bewerken
  1. Voeg de volgende code toe aan Page_Load:
protected void Page_Load(object sender, EventArgs e)
{
	if (!this.IsPostBack)
	{
		FillGvMessages();
	}
}
  1. Voeg de volgende code toe om onze GridView op te vullen:
private void FillGvMessages()
{
	MessageDataSet dsMessages = new MessageServices().GetMessages();
	gvMessages.DataSource = dsMessages.Message;
	gvMessages.DataBind();
}

Enkele voorbereidingen

bewerken

Vooraleer je de website start controleer je best of het project een StartUp Project is en of Default.aspx de default startpagina is. Zo maak je van je website het StartUp Project:

  1. Rechtermuisklik op MessageBoard.Presentation.Website
  2. Kies Set as StartUp Project
  3. Rechtermuisklik op Default.aspx
  4. Kies Set as Start Page

Vooraleer we ons project starten controleer je best ook of de code wel compileert.

  1. Druk CTRL+SHIFT+B of klik Build > Build Solution

Als het project foutmeldingen geeft, controleer dan of je overal de juiste referenties gelegd hebt en geen code vergeten bent.

Website starten

bewerken
  1. Druk op F5, de "play" knop in de knoppenbalk of Debug > Start Debugging

De website zal volledig compileren, een webserver opstarten en de website weergeven in de default browser.

Wanneer je op de knop gedrukt hebt krijg je het volgende bericht:
"The page cannot be run in debug mode because debugging is not enabled in the Web.config file."

  1. Kies voor "Add a new Web.config file with debugging enabled."
  2. Klik OK


Nu wordt een Web.config bestand aangemaakt in je website met debugging ingeschakeld.

Het proces gaat verder en we krijgen een foutmelding.
We krijgen een ArgumentNullException bij connectionStringName.

Dit is niet zo verwonderlijk aangezien we nog nergens in ons webproject gedefinieerd hebben naar welke database we willen connecteren.

  1. Open Web.config in MessageBoard.Presentation.Website
  2. Voeg de volgende code toe binnen <system.web></system.web>
<appSettings>
	<add key="connectionStringName" value="messageboard"/>
</appSettings>
<connectionStrings>
	<add name="messageboard" connectionString="Server=(local);Database=MessageBoard;uid=sa;pwd=;" providerName="System.Data.SqlClient" />
</connectionStrings>

Bewerk de connectionstring om te connecteren naar je eigen SQL Server-database.

Website opnieuw starten

bewerken
  1. Start het project

Het project start nu zonder fouten, maar je krijgt een lege website.
Dit is normaal aangezien onze database volledig leeg is.

  1. Stop het project
  2. Ga naar de Server Explorer
  3. Rechtermuisklik op de tabel Message
  4. Selecteer Show table data

Je kan zien dat er geen enkel bericht in onze tabel zit.

We kunnen in dit scherm direct enkele berichtjes toevoegen:

Id Title Message ParentId Author Posted
1 Eerste bericht Dit is het eerste bericht NULL Roel 12/31/2006 0:00:00
2 Tweede bericht Dit is het tweede bericht NULL Filip 26/31/2006 0:00:00
3 Derde bericht Dit is het derde bericht NULL Davy 14/01/2007 0:00:00
4 Re: Eerste bericht Dit is een antwoord 1 Filip 14/31/2006 0:00:00

Natuurlijk kan je hier zelf data toevoegen.

Derde keer goede keer

bewerken
  1. Start het project

Het project compileert en je krijgt een grid te zien met alle berichten die we toegevoegd hebben aan de database.

 
De gegevens in de website



Ga verder naar stap 7: Berichtenbordfunctionaliteit

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.