[ASP.NET/C#] Intranet opzet

Pagina: 1
Acties:

  • vakantieman
  • Registratie: November 2003
  • Laatst online: 05-10-2025
Op dit moment ben ik in de voorbereidende fase van het opzetten van een Intranet webpage voor een onderneming. Deze pagina zal uit een publiek en beveiligd gedeelte bestaan en alles moet via een CMS te bewerken zijn. Nu ben ik wel goed bekend met PHP maar ik heb nog niets gedaan met ASP.NET. Op school heb ik wel een JAVA module gehad dus ik ga maar gelijk voor c#. Nu heb ik het volgende boek doorgelezen en sommige onderdelen uitgewerkt: Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional..

Na het lezen en doorwerken van dit boek blijf ik toch zitten met een paar basis vragen. Hoe kan ik nu precies de intranet webpage opzetten, ik heb dit wel eens in php gedaan, daarvoor had ik de volgende class bestanden gemaakt:
-Database voor database functies
-Layout voor layout functies
-Pagina als class die ervoor zorgt dat alles wordt aangestuurd
-Etc etc.

Nu vraag ik mij af hoe ik dit precies in ASP moet doen. Code-behind werken is denk ik een mooie functionaliteit, alleen dan krijg je voor elke pagina een class bestand? Met behulp van master pages en themes kun je de layout redelijk goed regelen? En dan heb ik nog iets gelezen over componenten? 8)7

De vraag is dus wat is volgens jullie de beste manier om dit op te zetten? Als jullie meer informatie willen dan hoor ik het graag. :)

  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Wat heb je zelf al geprobeerd? [/flauw] :)

Componenten? Ik denk dat je controls wil. Dat zijn eigenlijk kleine pagina's met evt. bijbehorende code-behind.
Je opzet is in eerste instantie gewoon goed, dus een DAL en een 'class' pagina. Die class-pagina zou ik eerder als default.aspx willen betitelen en in deze page kan je je layout e.d. plaatsten. Vervolgens gooi je je eigengemaakte controls erop en deze stuur je aan met de code-behind van je default.aspx.

Verder kan je natuurlijk een BasePage.cs class maken met al je relevante code voor het aansturen van je content (in combinatie met je DAL).

En je hoeft niet voor elke pagina een class bestand te maken. Ik denk dat je in de war bent met het feit dat je IDE voor elke aangemaakte aspx ook een aspx.cs maakt. Dat is niet erg :). Nadat je je project gecompileerd hebt, hoef je alleen je aspx, afbeeldingen, js, css en de map bin op de server te plaatsen.

holy shit, wat een onsamenhangend verhaal... ff kijken of dat beter kan

[ Voor 6% gewijzigd door TeeDee op 17-03-2006 15:56 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • vakantieman
  • Registratie: November 2003
  • Laatst online: 05-10-2025
Bedankt voor je antwoord,
Het verhaal is inderdaad voor mij in ieder geval een beetje vaag.

Wat bedoel je precies met DAL?

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 23-02 14:07

Tux

Database Access Layer, dus die Database class waar je het over had.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • vakantieman
  • Registratie: November 2003
  • Laatst online: 05-10-2025
Ik heb nu steeds het code-behind idee nog steeds in mijn hoofd?
Dit moet ik zeker los laten en ik moet gewoon classes aanmaken en dan vanuit de classes pagina's aanmaken. Alleen hoe kan ik dan toch gebruik maken van de controls <asp:... >

Moet ik deze net als ik php doormiddel van een soort echo commando dit schijven?

  • Glorix Jim
  • Registratie: Februari 2000
  • Laatst online: 22-02 14:03
Codebehind is logica definieren van een pagina. (Sleur bv eens een button op je form. Dan in design mode een dubbelklik erop, dan word je automatisch naar de codebehind gestuurd van deze click)

Ik zou van je DAL een losse class file maken en naar deze referencen in je pagina's.

Check anders voorbeelden van www.asp.net, enige irritante van de manier waarop zij dit aanpakken is om alle logica van pagina's op de pagina zelf neer te zetten ipv codebehind. Dus alles tussen de <script></script> moet je in je codebehind gooien :)

Check ook de building blocks van Microsoft die heel veel werk uit handen kunnen nemen.

Verwijderd

Nu heb ik het volgende boek doorgelezen en sommige onderdelen uitgewerkt: Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional..
Ik heb nu steeds het code-behind idee nog steeds in mijn hoofd?
Dit moet ik zeker los laten en ik moet gewoon classes aanmaken en dan vanuit de classes pagina's aanmaken. Alleen hoe kan ik dan toch gebruik maken van de controls <asp:... >

Moet ik deze net als ik php doormiddel van een soort echo commando dit schijven?
Hier ligt een wat oudere versie van dat boek op de plank. Als je die daadwerkelijk hebt gelezen snap ik niet dat je nog met dit soort vragen komt :S

hint: wanneer je nog Response.Write gebruikt om je pagina's te genereren in .NET (equivalent van PHP's echo), dan doe je iets echt goed fout, aangezien je een cruciaal deel van het framework (WebForms) compleet links laat liggen.

[ Voor 28% gewijzigd door Verwijderd op 20-03-2006 22:02 ]


Verwijderd

kijk ook eens naar www.dotnetnuke.com, is een heel CMS / intranet systeem waarmee je zelf modules kan maken en toevoegen. scheelt denk ik een hoop werk

  • vakantieman
  • Registratie: November 2003
  • Laatst online: 05-10-2025
Verwijderd schreef op maandag 20 maart 2006 @ 21:52:
Hier ligt een wat oudere versie van dat boek op de plank. Als je die daadwerkelijk hebt gelezen snap ik niet dat je nog met dit soort vragen komt :S

hint: wanneer je nog Response.Write gebruikt om je pagina's te genereren in .NET (equivalent van PHP's echo), dan doe je iets echt goed fout, aangezien je een cruciaal deel van het framework (WebForms) compleet links laat liggen.
Een aantal onderdelen zijn mij heel duidelijk geworden bijvoorbeeld master pages en themes en het gebruik van de web-forms. Tevens zijn er veel meer mogelijkheden. Maar ik miste in het boek eigenlijk een basis opzet. In het boek gebruiken zo voor elke pagina een apart cs bestand(class). Ik vroeg me dus af of er niet een andere opzet mogelijk is? Bijvoorbeeld alle pagina's aan 1 cs bestand koppelen en deze laten regelen van welke class er aangestuurd moet worden? zoals ik hierboven aan gaf. Alleen dan vraag ik mij dus af hoe ik webforms kan aanmaken vanuit class bestanden?

Beetje onsamenhagend verhaal, maar zo zit het nu in het koppie :?

  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Dat kan, maar je ontkomt er in principe niet aan om toch nog per pagina een .cs file te hebben.
Tenzij je inline, dus op de aspx page zelf code gaat neerzetten.
Nadat je hele project gecompiled is, heb je die niet nodig op je productie omgeving.

C#:
1
2
3
4
5
6
7
8
namespace MijnBedrijf
{
    public class BasePage
    {
        public BasePage()
        {}
    }
}

en dan import je die BasePage in al je andere pagina's.
C#:
1
using MijnBedrijf;

En klaar, vervolgens kan je je daarmee verder. Een webform aanmaken in een class? Ik krijg het vermoeden dat je .cs bestanden aan het verwarren bent met een class. .cs != class.

Edit:
Ik bedenk me nu het volgende en dat is dit: Weet je wat jij moet doen? (niet naar de KVK :)) Gewoon beginnen. Serieus. Je merkt het dan vanzelf. Welke IDE ga je gebruiken? Je initiële opzet is prima en ga vandaaruit verder.

[ Voor 17% gewijzigd door TeeDee op 21-03-2006 09:23 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • vakantieman
  • Registratie: November 2003
  • Laatst online: 05-10-2025
Dat is inderdaad het geval ik verwarde een .cs bestand dus met een class file. Ik snap je voorbeeldje niet maar ik zal me er nog eens in verdiepen. Ik gebruik op dit moment Visual Web Developer Express om te proggen? is hier een beter programma voor?

Verwijderd

vakantieman schreef op dinsdag 21 maart 2006 @ 10:00:
Dat is inderdaad het geval ik verwarde een .cs bestand dus met een class file. Ik snap je voorbeeldje niet maar ik zal me er nog eens in verdiepen. Ik gebruik op dit moment Visual Web Developer Express om te proggen? is hier een beter programma voor?
Nee, dat is een prima IDE om in te beginnen voor ASP.NET development! Zoals hierboven wordt aangegeven zit je sowieso vast aan een cs (code-behind) bestand voor elke aspx pagina. Dat is echter absoluut geen probleem; in dat cs-bestand zet je bepaalde user-interface en interactie gerelateerde code (maar geen business logica!). Je definieert bijv. event-handlers en geeft aan hoe business objecten (/value objecten) die je uit andere "lagen" van je applicatie haalt, moeten worden weergegeven op de pagina.
Pagina: 1