[C# ASP.NET] Image op X,Y Locatie vanuit DB

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Ik ben bezig met het maken van een plattegrond waar het mogelijk moet zijn huisjes te zien, te filteren op 3 statussen: vrij,bezet,onderhoud.
Wat ik graag zou willen is het volgende:

Een lus waarin gekeken word naar de X en Y coordinaten van de huisjes in de dbtabel (ongeacht de status, dit bouw ik later in)
Vervolgens moeten deze coordinaten worden gebruikt om huisjes neer te planten op de plattegrond met absolute positioning.

Ik heb een tabel 'bungalows' gemaakt met de usual dingen zoals: id, huisnummer, status, xloc, yloc
Nu zit ik alleen met de vraag: hoe bind ik deze xloc, yloc aan een image via een handige lus?

Heb al ontzettend zitten googlen maar ik kom er eigenlijk niet uit want het enige dat ik kan vinden zijn de standaard databound objecten zoals datalists, gridviews e.d. maar geen images. Misschien dat iemand een aantal tips kan meegeven. Hopelijk is het duidelijk wat de bedoeling is.
Suggesties om dit op een andere manier te doen via c#,asp.net zijn ook welkom!

Acties:
  • 0 Henk 'm!

  • The_Ghost16
  • Registratie: Januari 2004
  • Laatst online: 19-05 10:05
is het niet mogelijk om Drawing aan te roepen in asp.net? Een functie die wel in de windows forms gebruikt kan worden.

Acties:
  • 0 Henk 'm!

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 19:03

mOrPhie

❤️❤️❤️❤️🤍

Een aantal mogelijkheden:

• Een .NET Map Control. Als je daarop googled vind je een aantal shareware, maar ook freeware versies.
• Google Maps. Als je wil plotten in een bestande map is Google Maps een goeie optie. Virtual Earth van Microsoft zou ook nog kunnen.
• Zelf tekenen in een Bitmap met System.Drawing. Genoeg boeken en online tutorials over te vinden.

[ Voor 4% gewijzigd door mOrPhie op 03-12-2008 14:20 ]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Na een tijdje heb ik het voor elkaar gekregen om hotspots te laten verschijnen op mijn plattegrond. De coordinaten komen uit een database.
Het enige waar ik nu nog tegen aan loop is de opmaak van een hotspot. Het liefste wil ik een hotspot in een vorm van een huisje, of tenminste een border of bgcolor van de hotspot wijzigen.

Ik vrees alleen dat dit niet lukt bij de .net imagemap. Heeft iemand een idee of dit mogelijk is?

Acties:
  • 0 Henk 'm!

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 16-02 14:43
zoals MorPhie ook al zei: System.Drawing en dan zelf gaan tekenen. Lees wat tutorials hier over en je kan gemakkelijk prachtige maps tekenen.

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Zeebonk schreef op woensdag 03 december 2008 @ 16:30:
zoals MorPhie ook al zei: System.Drawing en dan zelf gaan tekenen. Lees wat tutorials hier over en je kan gemakkelijk prachtige maps tekenen.
Dat is een manier ja, ik was toevallig al uren bezig met die hot spots en toen stuitte ik het probleem i.v.m de opmaak ervan :(.

Ik google nog even verder, anders heb ik veel voor niets gedaan als ik met system.drawing aan de slag ga :)

Acties:
  • 0 Henk 'm!

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 16-02 14:43
Heb je ergens al een online voorbeeldje? Want het hele hotspots gebeuren zegt me eigelijk weinig, misschien dat als ik wat kan zien dat ik nog wat meer kan helpen!

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Zeebonk schreef op woensdag 03 december 2008 @ 16:39:
Heb je ergens al een online voorbeeldje? Want het hele hotspots gebeuren zegt me eigelijk weinig, misschien dat als ik wat kan zien dat ik nog wat meer kan helpen!
Heb geen online voorbeeldje omdat het via een SQL server loopt die nu lokaal draait.
Wel heb ik een screenshot gemaakt zodat het wellicht iets duidelijker is.

Afbeeldingslocatie: http://img217.imageshack.us/img217/5639/naamloosux3.th.jpg

Je ziet daar een tooltip genaamd " Beschikbaar". Deze info komt uit de db die bij het desbetreffende plaatsnummer hoort waar je de muis op zet. Enige dat ik graag wil is deze aanklikbare hotspots vorm geven. Want vanaf dat punt gaat het volgens mij vrij mooi worden :)

Acties:
  • 0 Henk 'm!

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 20-06 15:29
Ik heb even geen VS bij de hand, maar kun je niet gewoon een label control/image control aanmaken en deze een style toewijzen of een css class? Of moet het daadwerkelijk in een <map> statement komen in de html?

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Depress schreef op woensdag 03 december 2008 @ 17:26:
Ik heb even geen VS bij de hand, maar kun je niet gewoon een label control/image control aanmaken en deze een style toewijzen of een css class? Of moet het daadwerkelijk in een <map> statement komen in de html?
Nee helaas kan dat niet bij de imagemap. Je kan dmv coordinaten je hotspots plaatsen maar qua css style kun je het niet aanpassen. Was het maar zo makkelijk :)

Denk dat ik uiteindelijk toch aan system.drawing.image moet beginnen maar wie weet heeft iemand nog een goede tip :)

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Ik ben onderhand van het hotspot idee afgestapt en bezig met de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
cmd = new SqlCommand("SELECT * FROM Bungalows", conn);
2            conn.Open();
3            drSQL = cmd.ExecuteReader();
4    
5            if (drSQL.HasRows == true)
6                while (drSQL.Read() == true)
7                {
8                    Response.Write("<img src='Images/Beschikbaar.png' size='10' height='10' style='z-index: 1; left: '" + drSQL[3] + "'px; top: '" + drSQL[4] + "' px; position: absolute'>"); 
9                    //Response.Write("Hoi: " + drSQL[4] + "<br>");
10               }
11           drSQL.Close();
12           conn.Close();


Enige dat nu niet lukt is het meegeven van de coordinaten aan de top en left style properties. Iemand een beter idee of tip hoe dit kan werken? De plattegrond heb ik al, gaat me puur om die plaatjes die moeten verschijnen.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:58

TeeDee

CQB 241

Wat lukt er dan niet icm de coördinaten?
drSQL[3] / drSQL[4] heeft als waarde wat?

[ Voor 7% gewijzigd door TeeDee op 04-12-2008 17:00 ]

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


Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
TeeDee schreef op donderdag 04 december 2008 @ 17:00:
Wat lukt er dan niet icm de coördinaten?
drSQL\[3] / drSQL\[4] heeft als waarde wat?
drSQL[3] en 4 hebben als waarde een getal die de coordinaten voorstelt bijvoorbeeld 400.

Als ik de alt text van de image de waarde drSQL[3] meegeef krijg ik op elk plaatje wel als tooltip de juiste coordinaten, maar het lijkt erop alsof hij deze waarden niet meeneemt als ik dit meegeef als style (top en left).

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Nou ja, gelukkig heb je op dat andere forum al een reactie over die extra aanhalingstekens bij left:...

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 21:52
Humor, Groenbos project. Kan mij herinneren dat ik hetzelfde ooit in VB6 heb gebouwd (interactieve kaart die via de database compleet te muteren was).

Komt het niet door de single quotes die je om je waarden heen zet?

Cascading Stylesheet:
1
style='z-index: 1; left: '" + drSQL[3] + "'px; top: '" + drSQL[4] + "' px


volgens mij wordt dat namelijk:

Cascading Stylesheet:
1
style='z-index: 1; left: '10'px; top: '100'px


hetgeen i.m.h.o geen valid CSS is.

Waarom wil je trouwens perse een CSS oplossing maken en bouw je niet gewoon een eigen .bmp / .jpg / .gif op met behulp van de juiste .NET libraries? Kwestie van de MSDN even goed doorlezen, maar daar moet je wel uitkomen.

Overigens is Response.Write wel een erg legacy methode voor debugging. In VS2005 kun je met de standaard debug methoden (breakpoints e.d.) een stuk makkelijker debuggen

En let je wel op SQL Injection in de rest van je applicatie? ;-) Hoort standaard onderdeel van je ASP.NET lessen geweest te zijn.

O ja, het feit dat je code altijd boven aan komt te staan is omdat je gebruikt maakt van de Response.Write methode, welke altijd als eerste wordt gerenderd voor de rest van je HTML. Niet doen dus. Maak liever gebruikt van de juiste .NET controls als panels en placeholders.

[ Voor 12% gewijzigd door MMUilwijk op 04-12-2008 23:14 ]

Everytime I suffer I become a better man because of it


Acties:
  • 0 Henk 'm!

  • GrooV
  • Registratie: September 2004
  • Laatst online: 24-06 20:39
Probeer deze eens als je een Google Maps Control wil

http://www.codeplex.com/googlemap

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Hoi Martijn,

Bedankt voor je reactie. Je hebt me zelfs ook nog les gegeven vorig jaar :) .
Je hebt gelijk wat betreft die quotes en wat betreft de SQL injection. Het gaat uiteindelijk via stored procedures of business objects, net wat de groep wilt.

En wat jij zegt over het opbouwen van mijn eigen bmp en dergelijke klinkt leuk en uitdagend maar wij zijn nog niet zo pro heh, besef je dat wel. Ik doe mijn uiterste best, je wilt niet weten hoe lang ik nu al zit te prutsen!

Kan je me een eind in de goede richting helpen door middel van een link of iets dergelijks in het MSDN? Dan weet ik in ieder geval waar ik moet zoeken.

Het gaat trouwens om Groenbos ja.

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
MMUilwijk schreef op donderdag 04 december 2008 @ 23:11:
Humor, Groenbos project. Kan mij herinneren dat ik hetzelfde ooit in VB6 heb gebouwd (interactieve kaart die via de database compleet te muteren was).

Komt het niet door de single quotes die je om je waarden heen zet?

Cascading Stylesheet:
1
style='z-index: 1; left: '" + drSQL[3] + "'px; top: '" + drSQL[4] + "' px


volgens mij wordt dat namelijk:

Cascading Stylesheet:
1
style='z-index: 1; left: '10'px; top: '100'px


hetgeen i.m.h.o geen valid CSS is.

Waarom wil je trouwens perse een CSS oplossing maken en bouw je niet gewoon een eigen .bmp / .jpg / .gif op met behulp van de juiste .NET libraries? Kwestie van de MSDN even goed doorlezen, maar daar moet je wel uitkomen.

Overigens is Response.Write wel een erg legacy methode voor debugging. In VS2005 kun je met de standaard debug methoden (breakpoints e.d.) een stuk makkelijker debuggen

En let je wel op SQL Injection in de rest van je applicatie? ;-) Hoort standaard onderdeel van je ASP.NET lessen geweest te zijn.

O ja, het feit dat je code altijd boven aan komt te staan is omdat je gebruikt maakt van de Response.Write methode, welke altijd als eerste wordt gerenderd voor de rest van je HTML. Niet doen dus. Maak liever gebruikt van de juiste .NET controls als panels en placeholders.
toon volledige bericht
Grappig dat je daar nu net over begint wat betreft die code bovenaan mijn pagina. Daar stuitte ik dus zojuist op :). Je moet wel begrijpen dat we vrij veel basislessen hebben gehad en geen uitgebreide lessen over .NET controls zoals panels e.d. Misschien dat jij me enige assistentie zou kunnen verlenen, als steuntje in de rug zegmaar :)

Acties:
  • 0 Henk 'm!

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 19:03

mOrPhie

❤️❤️❤️❤️🤍

Anoniem: 30279 schreef op donderdag 04 december 2008 @ 23:20:

Kan je me een eind in de goede richting helpen door middel van een link of iets dergelijks in het MSDN? Dan weet ik in ieder geval waar ik moet zoeken.
http://msdn.microsoft.com/en-us/library/system.drawing.aspx

We hebben al eerder system.drawing geopperd. Dit in google stoppen met MSDN erachter is niet moeilijk en helpt jou ook veel meer dan steeds dezelfde vraag hier te stellen. De oplossing zit 'm in het plotten op een bitmap met system.drawing. MSDN heeft er een heel gedeelte aan gewijd. Je kunt er ook nog boeken en tutorials over vinden. Dus tenzij je de html/css-manier wilt gebruiken, is het credo: Zoek, lees en leer. Het is heus niet zo moeilijk als dat je nu denkt.

Tutorials:
http://www.dotnettutorial...phics/Drawing-Csharp.aspx
http://www.dreamincode.net/forums/showtopic67275.htm
http://www.java2s.com/Cod...cs/makeredandbluepens.htm
http://www.c-sharpcorner....005070041AM/gdi_plus.aspx
http://www.techotopia.com...awing_Graphics_in_C_Sharp
enz.... er zijn er echt veel!

[ Voor 20% gewijzigd door mOrPhie op 05-12-2008 00:55 ]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
mOrPhie schreef op vrijdag 05 december 2008 @ 00:48:
[...]


http://msdn.microsoft.com/en-us/library/system.drawing.aspx

We hebben al eerder system.drawing geopperd. Dit in google stoppen met MSDN erachter is niet moeilijk en helpt jou ook veel meer dan steeds dezelfde vraag hier te stellen. De oplossing zit 'm in het plotten op een bitmap met system.drawing. MSDN heeft er een heel gedeelte aan gewijd. Je kunt er ook nog boeken en tutorials over vinden. Dus tenzij je de html/css-manier wilt gebruiken, is het credo: Zoek, lees en leer. Het is heus niet zo moeilijk als dat je nu denkt.

Tutorials:
http://www.dotnettutorial...phics/Drawing-Csharp.aspx
http://www.dreamincode.net/forums/showtopic67275.htm
http://www.java2s.com/Cod...cs/makeredandbluepens.htm
http://www.c-sharpcorner....005070041AM/gdi_plus.aspx
http://www.techotopia.com...awing_Graphics_in_C_Sharp
enz.... er zijn er echt veel!
toon volledige bericht
Bedankt voor de informatie, hier kan ik absoluut wat mee. Ik heb niet voor niets minstens pakweg een uurtje of 8 zitten googlen naar info maar het probleem is dat ik niet gericht kon zoeken naar bijvoorbeeld tekenen met gdi+ en dergelijke omdat ik niet eens van het bestaan af wist :).

Maargoed, nu wel. Thanks !

Acties:
  • 0 Henk 'm!

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 20-06 15:29
MMUilwijk schreef op donderdag 04 december 2008 @ 23:11:
Humor, Groenbos project. Kan mij herinneren dat ik hetzelfde ooit in VB6 heb gebouwd (interactieve kaart die via de database compleet te muteren was).

Komt het niet door de single quotes die je om je waarden heen zet?

Cascading Stylesheet:
1
style='z-index: 1; left: '" + drSQL[3] + "'px; top: '" + drSQL[4] + "' px


volgens mij wordt dat namelijk:

Cascading Stylesheet:
1
style='z-index: 1; left: '10'px; top: '100'px


hetgeen i.m.h.o geen valid CSS is.

Waarom wil je trouwens perse een CSS oplossing maken en bouw je niet gewoon een eigen .bmp / .jpg / .gif op met behulp van de juiste .NET libraries? Kwestie van de MSDN even goed doorlezen, maar daar moet je wel uitkomen.

Overigens is Response.Write wel een erg legacy methode voor debugging. In VS2005 kun je met de standaard debug methoden (breakpoints e.d.) een stuk makkelijker debuggen

En let je wel op SQL Injection in de rest van je applicatie? ;-) Hoort standaard onderdeel van je ASP.NET lessen geweest te zijn.

O ja, het feit dat je code altijd boven aan komt te staan is omdat je gebruikt maakt van de Response.Write methode, welke altijd als eerste wordt gerenderd voor de rest van je HTML. Niet doen dus. Maak liever gebruikt van de juiste .NET controls als panels en placeholders.
toon volledige bericht
Moet je daar niet ook gewoon Position: Absolute of Relative aan meegeven?

Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
Depress schreef op vrijdag 05 december 2008 @ 12:54:
[...]


Moet je daar niet ook gewoon Position: Absolute of Relative aan meegeven?
Voor zover ik weet pakken oudere browsers position: absolute niet. Dat is nog een issue. Verder heb ik de hoop al een beetje opgegeven na al het gezoek (2 dagen fulltime). Bovenstaande links geven wel de info om te teken via c# en dergelijke, dit is vast ook nodig. Ben alleen nog geen bruikbaar antwoordgericht voorbeeldje tegengekomen. Ik laat het even rusten.

[ Voor 32% gewijzigd door Anoniem: 30279 op 05-12-2008 15:29 ]


Acties:
  • 0 Henk 'm!

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

..

[ Voor 122% gewijzigd door ? ? op 25-01-2013 09:51 ]


Acties:
  • 0 Henk 'm!

Anoniem: 30279

Topicstarter
era.zer schreef op vrijdag 05 december 2008 @ 16:49:
Ik begrijp niet exact wat je wil, maar misschien helpt zoiets je?:
http://manowar.be/gta/
10 minuutjes werk en een admin pagina is ook eenvoudig te maken (onclick event). Natuurlijk is zoiets enkel goed voor een map met een onveranderlijke grootte en niet te groot.
Een browser dat geen position absolute/relative ondersteunt zou ik nu niet echt meer ondersteunen. Gewoon "gelieve uw browser up te daten" tonen ;)
Juist! Zoiets bedoel ik, en dan zeg jij 10 minuutjes werk haha. De map die ik ga gebruiken is ook onveranderlijk.

Ik ga dit voorbeeld even goed bestuderen. Is deze map van jou? Zoja, zou ik je dan wat mogen vragen als iets me niet lukt? Ik ga uiteraard eerst zelf flink aan de slag voor het geval dat.

[ Voor 8% gewijzigd door Anoniem: 30279 op 05-12-2008 23:09 ]


Acties:
  • 0 Henk 'm!

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

..

[ Voor 99% gewijzigd door ? ? op 25-01-2013 09:51 ]


Acties:
  • 0 Henk 'm!

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 20-06 15:29
Zoals ik nu zie is die map in php gemaakt. De TS wil graag in ASP.NET werken.

Zoals ik eerder al zei. Het is wellicht handig om gewoon in je aspx bestand een loop te maken, die gewoon een lijst met divs maakt, die allemaal een style hebben die hun absoluut positioneerd op de plek waar jij dit wilt hebben.

Eventueel, kun je nog een map erovermaken, op de zelfde manier als je die divs zou maken.

Wellicht als je het echt mooi wilt doen maak je er een web control van.
Pagina: 1