Recuperare valori POST ASP.NET

sabato 18 maggio 2013 - 20.32
Tag Elenco Tags  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Buonasera ragazzi.
Proprio mi perdo nelle cose semplicissime!!

Ho questo scenario (ho semplificato il tutto per aiutarVi a comprendere subito).

Ho una pagina HTML che con JQuery manda via POST ad una pagina ASPX una serie di valori.

Questo è il codice che inserisco nella pagina HTML

407x354 29Kb


Mentre questo è il (semplicissimo) codice nella ASPX

612x69 15Kb


Questo codice però non funziona. Non riesco, a mio avviso, a prendere dalla pagina aspx il contenuto del POST!

Intanto però se vedo il risultato della console del browser il valore in POST viene effettivamente inviato!

345x178 26Kb

Secondo Voi dove sbaglio? Sarà una grande cavolata! :)

slavishdany Profilo | Newbie

prova a fare un response.write(request.form ()) , dovrebbe farti vedere tutte le variabili della pagina, dopo di che guarda se ci sono le tue. Perchè il browser ti dice che sono state inviate, non che sono state ricevute.

86Marco Profilo | Expert

ei ciao e grazie per la risposta!

Ho provato a inserire sul Page_Load della pagina aspx Response.Write(Request.Form()) ma non mi visualizza nulla!! :(

Come posso risolvere?

slavishdany Profilo | Newbie

provo un secondo e ti dico

86Marco Profilo | Expert

Milla grazie :)

slavishdany Profilo | Newbie

guarda io ho provato e funziona, se vuoi ti posto il mio codice.

Pagina principale : default.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="js/jquery.js"></script>
<script language="javascript">
$(document).ready(function() {
$("#invia").click(function() {
$.post("pag2.aspx", "nome=pippo&cognome=pino&gruppo=utente", function(gino)
{alert(gino);});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="inviaPost" id="invia" />
</div>

</form>
</body>
</html>


pagina secondaria : pag2.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="pag2.aspx.vb" Inherits="pag2" %>


<% Response.Write(Request.Form("nome") & " " & Request.Form("cognome") & " " & Request.Form("gruppo"))
%>


la risultante me la mostra.

slavishdany Profilo | Newbie

Ora che guardo il tuo codice mi accorgo che effettivamente non puoi sapere se funziona o meno.
Ok, in caso di esito positivo del post in contenuto dovrebbe caricarti default2.aspx , però è inutile avere dall'altra parte un response.write su un post se non hai una variabile che lo riceva.
Mi spiego, nel mio script se hai notato il post è composto in questa maniera:
$.post(pagina su cui postare, parametri, function (variabile che prende il valore del response.write() nell'altra pagina)
{
azione da eseguire, nel mio caso un alert
});
poi comunque tieni sempre d'occhio gli id perchè io una volta ci sono impazzito per ore perchè non mi ero accordo che asp.net cambiava gli id a suo piacimento, esempio un div id="table" diventava div id="ctl_00_table"

86Marco Profilo | Expert

Ei ciao intanto grazie!
Scusami ma non ho capito granchè!!! :(

86Marco Profilo | Expert

Ei alla fine ci sono riuscito!
Sai quale era il problema?

Ho provato a utilizzare 2 pagine aspx, il metodo che utilizzavo io era una pagina HTML dove c'era il codice JQuery che mandava in POST i valori.
Utilizzando sia una pagina ASPX con all'interno il codice jQuery ed una seconda ASPX per il response.write tutto mi funziona alla perfezione.... anche se non capisco il xkè :)

86Marco Profilo | Expert

EI ciao, hai avuto modo di capire perchè il tutto non funge tra una pagina HTML ed una ASPX ma con lo stesso codice tra due aspx tutto fuziona a meraviglia??

slavishdany Profilo | Newbie

scusa ma non ho ancora avuto modo di provarlo. Hai provato a controllare che la pagina html includa bene il codice jquery? o che l'indirizzo in post sia corretto?
prova così
$.post("http://localhost/mySite/myPage.asp",

86Marco Profilo | Expert

Perfetto ci osno riuscito.
Dovevo effettivamente mettere la path assoluta della pagina.

Grazie

slavishdany Profilo | Newbie

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5