Results 1 to 10 of 10

Thread: ASP.NET gebruiker redirecten naar nieuwe pagina middels client-side code

  1. #1
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213

    ASP.NET gebruiker redirecten naar nieuwe pagina middels client-side code

    Ik zit met het volgende, ik heb een asp.net pagina met daarop enkele controls en een popup menu (third party).

    Ik kan voor de menu-items een stukje javascript meegeven om uit te voeren als er op het menuitem geklikt wordt. Nu wil ik dat dan de pagina terug gezet wordt naar de server zodat ik kan bepalen welke actie er aangeroepen dient te worden.

    Een javascript functie aanroepen werkt, alleen krijg ik het niet voor elkaar om dan de pagina terug te sturen naar de server.

    Ik heb oa geprobeert:
    document.forms(0).submit
    document.forms(0).post
    Alsook met de naam van het form.
    Al deze routines veroorzaken geen postback voor zover ik het kan zien. De forms zijn wel aanwezig en benaderbaar, getest met alert(document.forms(0).name)

    Ik heb ook al gepoogd om een button click aan te roepen, alleen kom je dan in de problemen omdat de button @render een uitgebreide naam krijgt (Ik zit op een afgeleide pagina van een master page).

    Iemand enig idee welke kant ik op moet kijken ? Ik ben al enkele uren aan het zoeken maar ik heb nog niets bruikbaars gevonden. Het lieft roep ik natuurlijk gelijk een serverside routine aan, maar ik geloof dat dat niet gaat.

  2. #2
    TSusjuh.Love.Count>MaxInt Francois Schumans's Avatar
    Join Date
    Dec 2002
    Location
    Vodafone-NL, Business Critical Connections
    Posts
    997
    je moet bij het gebruik van post of submit parameters aangeven welke bepalen waarnaartoe het formulier gepost moet worden...

    voorbeeld:
    Code:
    <form name="zoekactiviteiten" method='post' action='zoek.asp?pagetype=UITGEBREIDZOEKENRESULTAAT'>
    dit gezegd hebbende; kun je niet redirecten naar een asp pagina die je verder stuurt?

    edit:
    als je document.forms(0).submit / post aanroept zal waarschijnlijk gekeken worden naar de action die je opgeeft. Ju zou in plaats van de querystring te gebruiken zoals ik hierboven deed met Pagetype ook kunnen vervangen door een Session variabele. Dan weet je zeker dat niemand eraan kan.
    Last edited by Francois Schumans; 20-Apr-06 at 14:29.
    If IDE = Delphi Then Raise Greets.Create('Frenske');
    Else Throw New Greets('Frenske')

  3. #3
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    Dat klopt, alleen heb ik op de gegevens van het form geen invloed. Dit regelt Visual Studio vrolijk voor mij.

    de method staat op post en de action verwijst naar de pagina zelf. Vandaar dat ik dacht middels een submit een Page_Load te forceren waarin ik dan kan kijken (IsPostBack oa) of ik naar een andere pagina moet redirecten of niet en met welke parameters.

    Alleen kom ik niet in de Page_Load middels Submit :S

  4. #4
    TSusjuh.Love.Count>MaxInt Francois Schumans's Avatar
    Join Date
    Dec 2002
    Location
    Vodafone-NL, Business Critical Connections
    Posts
    997
    en je kunt nergens gwoon keihard zeggen .reload? ofzogèt?
    en een refresh dan?
    If IDE = Delphi Then Raise Greets.Create('Frenske');
    Else Throw New Greets('Frenske')

  5. #5
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    Ik heb wel de beschikking over
    Code:
    window.location.href = ''
    window.location.replace('')
    window.location.reload(true / false)
    maar deze veroorzaken geen echte Postback (de waarde van postback blijft false).

  6. #6
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    Ik vind het wel vreemd dat form.submit en form.post geen postback veroorzaken, terwijl je op een button met autopostback=true wél gelijk een postback krijgt.

  7. #7
    TSusjuh.Love.Count>MaxInt Francois Schumans's Avatar
    Join Date
    Dec 2002
    Location
    Vodafone-NL, Business Critical Connections
    Posts
    997
    dat is idd vreemd. ik had verwacht dat dan de postback ingesteld zou worden en dat bij de volgende post/submit er ook echt een postback gedaan zou worden.

    maarja wat doe je eraan. zal wel microsoft redenatie zijn. zelfde als bij dim list(0) as Integer. Krijg je een array met 1 element. gewoon niet over nadenken.
    If IDE = Delphi Then Raise Greets.Create('Frenske');
    Else Throw New Greets('Frenske')

  8. #8
    Als je de broncode achter de button kijkt, zie je dat er nog een heel lap javascript code wordt uitgevoerd waaronder de client validaties en een stukje script die ervoor zorgt dat er een postback is naar de server. Een form.submit of form.post gaat geen postback zorgen bij de server.

    [edit]
    even rectificeren wat ik hier boven heb geschreven

    Ik heb een simpel aspx pagina (wel .NET 2.0) gemaakt daar een html button opgesleept. In de source view van mijn aspx-pagina het volgende gedaan:
    <input id="Button1" type="button" value="button" onclick="form1.submit()" /></div>

    En runnen maar. Als ik debug met visual studio 2005 dan weet visual studio dat er een postback is gedaan naar de server.
    Last edited by Link; 20-Apr-06 at 22:14.

  9. #9
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    Het werkt inderdaad link. Ik heb me verkeken op het feit dat ik in een afgeleide van een masterpage zit. Daar kan ik niet form.submit zeggen omdat ik binnen een contentplace holder zit. Gisteren met testen bleek wel dat dan de naam van het form ook door VS geregeld word(blijkt "aspnetForm" te zijn) maar ook die kan ik niet submitten.

    Na nog wat verder testen blijkt dat ik wel submitten kan middels
    Code:
    document.forms['aspnetForm'].submit()
    Ik heb gister wel nog geprobeerd met
    Code:
    document.forms(0).submit
    maar die wilde niet.

    Bedankt Link !

  10. #10
    probeer deze eens:
    Code:
    document.forms(0).submit();

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •