Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

ASP.NET 2.0 & JavaScriptje (Request.QueryString)

None
5 antwoorden
  • Als je de volgende link volgt zie je een pagina met berichtjes.

    http://www.hartjedenbosch.nl/niewsbrieven_items.aspx?NewsLetterID=12

    Rechts onderin in elk berichtje staat het woordje "Meer". Als je daarop klikt zie je het volledige bericht.
    Dit doe ik met een javascriptje en werkt perfect:

    [code:1:a7e0886d28]<script language="JavaScript">
    function ToggleDisplay(id)
    {
    var elem = document.getElementById('d' + id);

    if (elem)
    {
    if (elem.style.display != 'block')
    {
    elem.style.display = 'block';
    elem.style.visibility = 'visible';
    }
    else
    {
    elem.style.display = 'none';
    elem.style.visibility = 'hidden';
    }
    }
    }
    </script>[/code:1:a7e0886d28]

    Nu het volgende: mensen die zich ingeschreven hebben voor de nieuwsbrief van deze site krijgen regelematig een nieuwsbrief. De nieuwsbrief is qua opmaak gelijk aan de eerder vermeldde pagina.
    In de mail staan ook de berichtjes. Echter als je in die mail op "Meer" klikt worden ze naar de site doorgelinkt naar dezelfde pagina. Maar dan moet het betreffende bericht "open staan/uitgeklapt zijn".

    ik geef daarom een NewsLetterItemID mee.

    http://www.hartjedenbosch.nl/niewsbrieven_items.aspx?NewsLetterID=12&NewsLetterItemID=45

    Als ik deze uitvraag met een Request.QueryString("NewsLetterItemID";) geeft ie netjes aan welk berichtje opgeklapt zou moeten zijn.

    Om het berihtje op te klappen heb ik een scriptje geschreven die lijkt op eerder vermeldde javascriptje maar hij doet niets.

    Nu lees ik dat om een javascriptje aan de praat te krijgen je deze wel moet "activeren" door bijvoorbeeld op een button te klikken. Maar dat gaat niet op dit geval.
    Ee alternatief kan zijn: bodyOnLoad o.i.d. maar dat werkt niet (goed) omdat deze site gebruik maakt van een MasterPage.

    Wie weet raad?
  • Javascript in HTML mails is geen goed idee. Je kunt er niet van opaan dat de e-mailclient active scripting ondersteunt. Ik zou in jou situatie kiezen voor een HTML mail met een gewone html-link, maar dan wel naar een nieuw venster. Zoals:
    [code:1:d02b14a748]<A HREF="http://www.hartjedenbosch.nl/niewsbrieven_items.aspx?NewsLetterID=12&NewsLetterItemID=45" TARGET="_BLANK">Meer</A>[/code:1:d02b14a748]
    De link wordt in de (standaard) browser geopend en een stukje javascript om het bericht open te klappen moet dan wel goed werken.
  • Ik heb geen javascript in mijn mail en ik gebruik ook gewoon html.
    En wat jij doet, doe ik ook.
    Het gaat om het volgende: die NewsLetterItemID=45 komt aan en als ik ie met Document.Write op het scherm toon zie ik de juiste waarde.

    So far so good.

    Nu, het opklikken van het juiste nieuwsberichtje..

    [b:08352f863a]Daar gaat het om[/b:08352f863a] :lol:
  • En als je met ASP.NET controleert op de aanwezigheid van het ID? In dat geval zou je bij het vinden van een ID bij de bewuste div de eigenschappen [i:342e35eda1]display: none; visibility: hidden;[/i:342e35eda1] uit je inline CSS kunnen laten waardoor het dus automatisch getoond wordt. Geen kliks nodig, de rest zou gewoon moeten blijven werken.

    - Bas
  • Ja, daar dacht ik ook aan …

    Ik ga het even proberen en kom er dan op terug :-)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.