Toon posts:

[ASP.NET]Bepaalde kolom uit dataset wijzigen

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig aan een ledenbeheerplatform. Een van de onderdelen hiervan maakt het mogelijk om aankondigingen te maken/wijzigen. Die aankondigingen worden met UBB-tags opgemaakt.

Wat ik momenteel doe:
Als ik de aankondiging invoeg roep ik een webmethod aan. Die webmethod vertaald eerst alle UBB naar HTML en voegt dan de gegevens in in de database
Voordeel: alles staat goed in de database
Nadeel: als je wil bewerken moet je HTML naar UBB omzetten en dat geeft praktische problemen.

Wat ik wil:
De UBB in de database opslaan en pas op de pagina die de aankondiging toont de UBB omzetten naar HTML.
Ik wil dit in de webmethod die de aankondigingen toont programmeren, maar weet niet hoe.
Ik vul momenteel een dataset op met 4 kolommen uit een MS SQL database en stuur die dataset gewoon terug. Wat ik zou willen bereiken is dat ik een kolom uit die dataset eerst nog door een "vertaler" kan sturen die de UBB omzet in HTML voor de dataset naar de webpagina gaat.

Op Google kon ik niet veel nuttige informatie vinden hieromtrent. Ook omdat ik niet weet hoe ik het probleem moet verwoorden.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Verwijderd schreef op zondag 24 april 2005 @ 18:23:
Ik ben bezig aan een ledenbeheerplatform. Een van de onderdelen hiervan maakt het mogelijk om aankondigingen te maken/wijzigen. Die aankondigingen worden met UBB-tags opgemaakt.

Wat ik momenteel doe:
Als ik de aankondiging invoeg roep ik een webmethod aan. Die webmethod vertaald eerst alle UBB naar HTML en voegt dan de gegevens in in de database
Voordeel: alles staat goed in de database
Je bedoelt dus dat er html codes in je database staan ?
Ik vind dat een nadeel.
Wat ik wil:
De UBB in de database opslaan en pas op de pagina die de aankondiging toont de UBB omzetten naar HTML.
Dat lijkt me idd een betere manier. :)
Ik wil dit in de webmethod die de aankondigingen toont programmeren, maar weet niet hoe.
Ik vul momenteel een dataset op met 4 kolommen uit een MS SQL database en stuur die dataset gewoon terug. Wat ik zou willen bereiken is dat ik een kolom uit die dataset eerst nog door een "vertaler" kan sturen die de UBB omzet in HTML voor de dataset naar de webpagina gaat.
Ik weet niet hoe je je gegevens nu toont, maar in de presentatie laag moet je idd iets maken die verantwoordelijk is om die ubb codes om te zetten naar html / whatever codes.
Als je bv die dataset gewoon aan een datagrid hangt waarin je 'm toont (of een andere control (repeater) oid, dan kan je gebruik maken van één van de events van die control (ItemDataBound geloof ik).

https://fgheysels.github.io/


Verwijderd

Wat betreft het vertal van je opmaak zou je idd het ItemDatabound command moeten gebruiken.

Ik maak vaak gebruik van repeaters, omdat je hiermee meer vrijheid hebt qua opmaak
Hieronder zie je een voorbeeld:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub repeaterNaam_ItemDataBoud(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles repeaterNaam.ItemDataBound
     
     ' De onderstaande regel haalt per record alle gegevens op uit de database
     Dim dvDataRowView As DataRowView = CType(e.Item.DataItem, DataRowView)

     ' Door gegevens uit het record haal je vervolgens uit de bovenstaande DataRowView
     Dim intVariable As Integer = dvDataRowView.Item("KollomNaamUitJeDataBase")
     Dim strVariable As String = dvDataRowView.Item("KollomNaamUitJeDataBase")

     ' De volgende regel zoekt naar het juiste control in het repeaterItem van de Repeater:
     Dim lblVariable As Label = e.Item.FindControl("NaamVanControll")

     ' De volgende regel bouwt je waarde uit de database om met de functie die jij gebruikt
       en voegt de waarde toe aan het bovenstaande label
     lblVariable.Text = JouwOmBouwFunctie(strVariable)


End Sub



edit: En ook met repeaters is heel simpel paginering en sortering mogelijk!!!

[ Voor 7% gewijzigd door Verwijderd op 25-04-2005 09:55 . Reden: opmerking erbij ]