Programmeren in ASP.net 2.0 N-Tier Tutorial/Presentation Laag: verschil tussen versies

Uit Wikibooks
Verwijderde inhoud Toegevoegde inhoud
Ketelsb (overleg | bijdragen)
k →‎Website opnieuw starten: Database opvullen
Ketelsb (overleg | bijdragen)
Regel 102: Regel 102:
| 12/31/2006 0:00:00
| 12/31/2006 0:00:00
|-
|-
| 2
| Tweede bericht
| Tweede bericht
| Dit is het tweede bericht
| Dit is het tweede bericht
Regel 108: Regel 109:
| 26/31/2006 0:00:00
| 26/31/2006 0:00:00
|-
|-
| 3
| Derde bericht
| Derde bericht
| Dit is het derde bericht
| Dit is het derde bericht
Regel 114: Regel 116:
| 14/01/2007 0:00:00
| 14/01/2007 0:00:00
|-
|-
| 4
| Re: Eerste bericht
| Re: Eerste bericht
| Dit is een antwoord
| Dit is een antwoord

Versie van 18 jan 2007 13:33

Deze laag brengt de data zichtbaar naar 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

  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

Gridview opvullen

  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

Vooraleer je de website start controleer je best of het project een StartUp Project is en of Default.aspx de default start page 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

  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 gedefiniëerd 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

  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



Ga verder naar stap 7: Berichtenbord functionaliteit

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