Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642

    server(transfer) con querystring

    ciao,
    io ho una pagina con un bottone lato server in cui all'evento click c'e' un server transfer alla stessa pagina con l'aggiunta pero' di un parametro di querystring

    server.transfer(stessapagina?querystring=valore)

    Il problema è che come clicco sul bottone la pagina si reindirizza effetivamente, masenza mostrare la querystring, se clicco uan seconda volta la variabile sulla barra degli indirizzi compare come mai?

  2. #2
    non si vede il valore o tutti gli argomenti?
    Fiore Bat - www.bcscommunity.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    ciao, non c'è proprio la querystring, anche se i valori riesco arecuperarli, questo è anche normale visto che server.transfer trasferisce l'esecuzione soltanto mostrando sempre la stessa pagina, quello che non capisco è come mai al seondo click la querystring compare nell'url ed in oltre volevo sapere se c'e' un modo per farlo comparire al primo click

  4. #4
    arg....

    nell'url errato vedi:

    http://miosito/miapagina.aspx

    o

    http://miosito/miapagina.aspx?querystring=

    ???


    prova con response.redirect...
    Fiore Bat - www.bcscommunity.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    mi sembra chiara la mia risposta: allora io mi trovo a questo indirizzo

    http://...index.aspx

    e faccio una server.transfer a

    http://...index.aspx?id=3

    ma nel browser vedo

    http://...index.aspx

    nel codice posso comunque recuperare il valore dell'id

    quando clicco una secondo volta il bottone dove c'e' la server.transfer vedo questo

    http://...index.aspx?id=3.

    Quindi la domanda resta sempre quella : perche' se server trasferisco 2ue volte, la seconda volta mi cambia l'url?

    E' possibile farlo cambiare sto url da subito con la server.transfer?

    response.redirect non mi occorre

  6. #6
    non ti occorre!?!?!?!?!?


    Server.Transfer Vs. Response.Redirect
    By Karl Moore

    If you read a lot of industry magazines and ASP.NET code samples, you may find that, although the majority use Response.Redirect to send the user to another page, some seem to prefer the rather mysterious-sounding Server.Transfer. So, what's the difference?

    Well, Response.Redirect simply sends a message down to the browser, telling it to move to another page. So, you may run code like:

    Response.Redirect("WebForm2.aspx")

    or

    Response.Redirect("http://www.karlmoore.com/")

    to send the user to another page.

    Server.Transfer is similar in that it sends the user to another page with a statement such as Server.Transfer("WebForm2.aspx"). However, the statement has a number of distinct advantages and disadvantages.

    Firstly, transferring to another page using Server.Transfer conserves server resources. Instead of telling the browser to redirect, it simply changes the "focus" on the Web server and transfers the request. This means you don't get quite as many HTTP requests coming through, which therefore eases the pressure on your Web server and makes your applications run faster.

    But watch out: because the "transfer" process can work on only those sites running on the server, you can't use Server.Transfer to send the user to an external site. Only Response.Redirect can do that.

    Secondly, Server.Transfer maintains the original URL in the browser. This can really help streamline data entry techniques, although it may make for confusion when debugging.

    That's not all: The Server.Transfer method also has a second parameter—"preserveForm". If you set this to True, using a statement such as Server.Transfer("WebForm2.aspx", True), the existing query string and any form variables will still be available to the page you are transferring to.

    For example, if your WebForm1.aspx has a TextBox control called TextBox1 and you transferred to WebForm2.aspx with the preserveForm parameter set to True, you'd be able to retrieve the value of the original page TextBox control by referencing Request.Form("TextBox1").

    This technique is great for wizard-style input forms split over multiple pages. But there's another thing you'll want to watch out for when using the preserveForm parameter. ASP.NET has a bug whereby, in certain situations, an error will occur when attempting to transfer the form and query string values. You'll find this documented at http://support.microsoft.com/default...en-us;Q316920.

    The unofficial solution is to set the enableViewStateMac property to True on the page you'll be transferring to, then set it back to False. This records that you want a definitive False value for this property and resolves the bug.

    So, in brief: Response.Redirect simply tells the browser to visit another page. Server.Transfer helps reduce server requests, keeps the URL the same and, with a little bug-bashing, allows you to transfer the query string and form variables.

    Top Tip: Don't confuse Server.Transfer with Server.Execute, which executes the page and returns the results. It was useful in the past, but, with ASP.NET, it's been replaced with fresher methods of development. Ignore it.
    quindi a te occorre response.redirect...
    Fiore Bat - www.bcscommunity.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.