49 messaggi dal 29 dicembre 2003
Ciao
ho una pagina di ricerca collegata ad una masterpage che mi permette di compilare una text Box.

*** preciso che ho fatto un collage tra varie fonti su internet. quindi non è farina del mi sacco.****

ho impostato al pulsante il valore PostBackUrl="~/ItemList.aspx"

questo è il codice semplificato

<asp:Content ID="CPH_Centrale" ContentPlaceHolderID="CPH_Centrale" Runat="Server">
  
   <asp:TextBox ID="Txt_Pncode" runat="server" Width="238px"></asp:TextBox>
  <input id="Submit1" type="button" value="Search"  onclick="return Submit1_onclick()" />
                
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/ItemList.aspx" />
             
</asp:Content>



Questo è il codice nella mia pagina destinazione:
nella pagina è definito un textbox TextBox2 che dovrebbe recuperare il valore della textbox txt_pncode della prima pagina


 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim mpContentPlaceHolder As ContentPlaceHolder
        Dim mpTextBox As TextBox

        ' recupero il controllo ContentPlaceHolder "CPH_centrale" 
        ' perchè utilizzo una mage master

        mpContentPlaceHolder = CType(Master.FindControl("CPH_Centrale"), ContentPlaceHolder)

        ' se il controllo ContentPlaceHolder è recuperato
        ' recupero il controllo txt_pncode
        
If Not mpContentPlaceHolder Is Nothing Then
            mpTextBox = CType(mpContentPlaceHolder.FindControl("Txt_Pncode"), TextBox)
End if



Im mio problema è che il controllo mpTextbox , che uso come contenitore provvisorio non mi restituisce nulla

ho provato anche questo codice ma non risolvo nulla
TextBox2.Text = CType(mpContentPlaceHolder.FindControl("Txt_Pncode"), TextBox).Text


come posso recuperare i dati della prima pagina?

grazie

ma
devi utilizare la proprietà PreviusPage, prima di tutto per recuparare il riferimento alla pagina precedente

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
49 messaggi dal 29 dicembre 2003
ciao e grazie del tuo intervento
un chiarimento.

la pagina destinazione è richiamabile da piu pagine quindi non posso impostarlo in modo statico.
ho letto su http://aspnet.html.it/guide/lezione/2631/scambio-di-dati-tra-web-form/ di utlizzare PreviusPage ma ho poca dimistichezza con il c# (lavoro in VB)

mi potresti fare gentilmente un esempio da incastrare nel mio codice?

grazie
dai un occhiata quà:
http://www.aspitalia.com/script/674/Effettuare-Postback-Pagina-ASP.NET-2.0.aspx

chiedi pure se qualcosa non ti torna

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
49 messaggi dal 29 dicembre 2003
ciao,

ho provato con

Dim mpTextBox As TextBox
mpTextBox = CType(PreviousPage.FindControl("Txt_Pncode"), TextBox)


ma l'oggetto restituito è vuoto.
io uso una master page.... e la pagina ricevente non sa a priori chi la richiama

infatti se uso
mpContentPlaceHolder = CType(Master.FindControl("CPH_Centrale"), ContentPlaceHolder)


l'oggetto restituito è coerente (non è vuoto)
forse il find control deve essere richiamato in un altro modo nel caso della pagine master?

Grazie
dovresti fare:

PreviousPage.FindControl("CPH_Centrale")

vedi se li riesci a trovare la tua TextBox

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
49 messaggi dal 29 dicembre 2003
ciao nostromo, capisco che posso sembrare uno scocciatore ma ho difficolta' ad
applicare

facendo il dubug su questo codice

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
              
If PreviousPage IsNot Nothing AndAlso PreviousPage.IsCrossPagePostBack 

   Dim mpTextBox As TextBox
   Dim mpContentPlaceHolder As ContentPlaceHolder

   mpTextBox = PreviousPage.FindControl("CPH_Centrale")
   mpContentPlaceHolder = CType(Master.FindControl("CPH_Centrale"), ContentPlaceHolder)
           
End If


mpTextBox è vuoto
mpContentPlaceHolder è riempito.

quindi sembra che devo risalire al find control da mpContentPlaceHolder

ciao
prova così:

Dim mpContentPlaceHolder As ContentPlaceHolder
mpContentPlaceHolder = PreviousPage.Master.FindControl("CPH_Centrale")

e dentro mpContentPlaceHolder cerca la textbox

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC