[ASP.NET] Waarde uit array binnen html tag

Pagina: 1
Acties:

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
Ik ben bezig met de bouw van een applicatie in Delphi icm met ASP .Net. Ik haal een aantal opdrachten uit de database en die laat ik dmv een repeater afbeelden. Ik wil de gebruiker de mogelijkheid geven om een opdracht aan te klikken waarop dmv javascript de rest van de informatie verschijnt. Zo gezegd zogedaan zou je denken, alleen nou kan ik de array met waarden op geen enkele manier uitlezen. ://

Dit is de itemtemplate code van mijn repeater:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<tr onClick='javascript:flipVisibilityById()' class="row">
    <td class="numberBlue">
    </td>
    <td class="seperatorBlue">
        [img]"img/seperator.gif"[/img]
    </td>
    <td class="descriptionBlue">&nbsp;<%# (Container.DataItem as DataRow)["naam"] %>
          <table id="t<%# (Container.DataItem as DataRow)["relatiecode"] %>" class="prodRow" cellpadding="0" cellspacing="0">
            <tr>
                <td class="messageNo">blalala</td>

            </tr>
        </table>
        <span style="HEIGHT: 10px" />
    </td>
    <td class="statusBlue">&nbsp;</td>
</tr>
            </tr>

Ik wil graag het volgende:
code:
1
<table id="t<%# (Container.DataItem as DataRow)["relatiecode"] %>" class="prodRow" cellpadding="0" cellspacing="0">

Dit slikt ie dus niet omdat er twee keer double quotes instaan. Bij bovenstaande kan ik eventiueel het id tussen single quotes zetten. Maar bij onderstaande werkt dat niet omdat je dan twee keer single quotes moet gebruiken. Er moet toch wel een oplossing voor zijn waarbij ik niet moet overgaan op single quotes??? Ik wil graag ook een beetje nette html gebruiken.
code:
1
<tr onClick='javascript:flipVisibilityById('t<%# (Container.DataItem as DataRow)["relatiecode"] %>')' class="row">

Ik heb al van alles geprobeerd. ;( Tips en hulp is van harte welkom! Misschien denk ik de verkeerde kant uit?

http://hawvie.deviantart.com/


Verwijderd

Jij denkt je ASP code te herhalen aan de client zijn kant dmv. Javascript ?

Dat gaat nooit werken nee...

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
Verwijderd schreef op vrijdag 26 mei 2006 @ 13:42:
Jij denkt je ASP code te herhalen aan de client zijn kant dmv. Javascript ?

Dat gaat nooit werken nee...
Nee.. Als een gebruiker klikt op een rij van een tabel, moet een andere tabel verschijnen. Ik heb een functie gedefinieerd in javascript: flipvisibility(id). Die zorgt ervoor dat het element met het meegegeven id weergegeven wordt.
De code die je ziet wordt aan de server kant uitgevoerd. Die template code zorgt ervoor dat het id="" van de weer te geven tabel gevuld wordt en de functie aanroep naar onClick="flipvisibility('*hier komt het id*') " gevuld wordt. Comprende? :)

http://hawvie.deviantart.com/


Verwijderd

Ofwel begrijp ik het compleet fout ofwel wil jij wel degelijk ASP code bij de client uitvoeren...

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
Verwijderd schreef op vrijdag 26 mei 2006 @ 13:55:
Ofwel begrijp ik het compleet fout ofwel wil jij wel degelijk ASP code bij de client uitvoeren...
Javascript: ik geef een tabel weer
code:
1
2
3
4
5
6
7
8
9
10
//flip the visibility of on object based on an id
function flipVisibilityById( sElement )
{
    if( document.getElementById( 't'+sElement ).style.display == "" )
    {
        document.getElementById(  't'+sElement ).style.display = "none"
    } else {
        document.getElementById(  't'+sElement ).style.display = "";        
    }
}

asp .NET: Vul ene tabel met ene repeater. Vervolgens zorg er voor dat als een gebruiker op een opdracht klikt er meer informatie verschijnt. Die informatie staat al in de html code maw dat is server side al gegenereerd, alleen wordt het nog niet weergegeven. dmv javascript zorg ik ervoor dat die content ineens wel wordt weergegeven op het scherm. :P Snap je, of leg ik het gewoon te moeilijk uit? Van niet zichtbaar moet het dus zichtbaar worden.
code:
1

Alleen mijn server side code gooit roet in het eten.

[ Voor 7% gewijzigd door HawVer op 26-05-2006 14:02 ]

http://hawvie.deviantart.com/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Je kan quotes binnen strings escapen. Hoe dat moet binnen de taal die jij gebruikt weet ik niet, want ik weet niet welke taal je gebruikt. :P In VB(S) doe je het geloof ik door het teken te herhalen binnen de string, dus "". In C-varianten zet je een \ voor het teken dat je wil escapen. Ook kun je kijken of er een chr()-functie beschikbaar is, waar je de ASCII code van het teken in kwestie in kan stoppen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

escapen of encoden? of misschien beide? Je praat hier immers over scriptdata binnen een HTML attribuut ;) (en daar hoort geen pseudoprotocol aan vooraf te gaan)

[ Voor 5% gewijzigd door crisp op 26-05-2006 14:10 ]

Intentionally left blank


  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
@ -NMe-

Bedankt voor je suggesties. De \ escape heb ik al geprobeerd, werkt niet. De chr() functie ga ik even proberen. :)

@ crisp
encoden heb ik geprobeerd. Maar daar kan hij niet mee om gaan. Ben nu aan het kijken naar escapen. Thanks! :)

http://hawvie.deviantart.com/


  • Ahrnuld
  • Registratie: April 2002
  • Laatst online: 06-02 07:59
Zomaar een vraagje, waar is die # voor binnen je <% %> tags?

Niets...


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

@mdhsoftware, ga ASP.NET leren, dat is gewoon standaard databinding.

@HawVer, waarom zet je de serverside-attributen niet in enkele quotes? Dat is toch wel redelijk standaard als je gaat databinden, dus zo:
ASP.NET:
1
<table id='<%# blaat["aap"] %>' ...>

Bij mij werkt dat gewoon.

[ Voor 12% gewijzigd door _Thanatos_ op 26-05-2006 15:14 ]

日本!🎌


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Volgens de standaard hoor je attribuutwaarden binnen HTML AFAIK met dubbele quotes aan te geven. Enkele werken wel, maar valideren niet voor zover ik weet. Maar dat is niet mijn area of expertise. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
_Thanatos_ schreef op vrijdag 26 mei 2006 @ 15:14:
@HawVer, waarom zet je de serverside-attributen niet in enkele quotes? Dat is toch wel redelijk standaard als je gaat databinden, dus zo:
ASP.NET:
1
<table id='<%# blaat["aap"] %>' ...>

Bij mij werkt dat gewoon.
Dat is geen nette html.

Ik heb het anders opgelost door een nummer te nemen in plaats van de veldnaam. Dus het werkt nu tijdelijk. :)

http://hawvie.deviantart.com/


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

zowel single als double quotes zijn gewoon toegestaan in HTML, echter dien je het voorkomen van dezelfde soort quote daarbinnen te encoden.
Ter illustratie:

escaping:
JavaScript:
1
alert('I\'m crazy');


encoding:
HTML:
1
<p onclick='alert('I\'m crazy')'>


double quotes hebben over het algemeen de voorkeur omdat voor de double quote een named entity bestaat.

[ Voor 3% gewijzigd door crisp op 26-05-2006 16:07 ]

Intentionally left blank


  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 14-02 19:36
O ik dacht dat html altijd double quote moest zijn. Ik kan het nergens terug vinden dus ik denk dat je gelijk hebt! :)

Op zich kan ik wel dubbele quotes gebruiken, maar dan vind ik persoonlijk dat je dat overal door de html moet toepassen. En dat is helaas geen optie. Hier en daar single quotes maakt het niet leesbaarder, onderhoudbaarheid is belangrijk punt bij project.

http://hawvie.deviantart.com/

Pagina: 1