2013-05-07 31 views
5

Ho un controllo utente,casella di testo ASP.NET perde testo su postback parziale

Nel controllo utente Ho un pulsante, che quando viene cliccato, mostra una finestra di messaggio,

finestra di messaggio ha una casella di testo e un altro pulsante,

quando faccio clic su un altro pulsante, ho bisogno di ottenere il valore della casella di testo nel codice dietro, ma non sta accadendo affatto, come pulsante sta facendo postback parziale e textbox perde solo lo stato.

non posso ottenere il valore casella di testo in metodo Page_Load e salvarlo in stato di sessione come testo è popolato dinamicamente

questo è quello che ho provato finora,

<asp:TextBox ID="textbox1" TextMode="MultiLine" runat="server" /> 

e

protected void Button1_Click(object sender, EventArgs e) 
     { 
string button1text = TextBox1Text; 

e

public partial class myUserControl : UserControl 
{ 
    public string TextBox1Text 
    { 
     get 
     { 
      return Page.Session["TextBox1Text"] as string; 
     } 
     set 
     { 
      Page.Session["TextBox1Text"] = TextBox1.Text; 
     } 
    } 

Nessun guadagno ma solo dolore.

+0

Forse yo Si tenta di aggiungere il controllo aggiunto dinamicamente alla pagina usando in questo modo 'Page.Controls.Add'. – Saravanan

+0

aggiungo il controllo utente alla mia webpart, che è un controllo nella pagina, è sharepoint, signore – Mathematics

risposta

2

È passato un po 'di tempo da quando utilizzavo UpdatePanel, ma credo che sul postback parziale inviino solo valori aggiornati per i controlli al loro interno. Quindi sposta il TextBox all'interno di UpdatePanel, o forse usa Javascript per compilare un controllo nascosto all'interno di UpdatePanel con i contesti del TextBox ogni volta che viene aggiornato.

+0

+1, stavo pensando a questo, ma non penso che questo sia il modo migliore di farlo, signore – Mathematics

1

in ASP pagina

 

    <input type="hidden" id="hidtext" runat="server" value=""> 

in C#

 

    hidtext.Value=textbox1.text; 

o VB

 


    hidtext.Value=textbox1.text 

dopo palo

 

    textbox1.text=hidtext.value; 

+0

grazie signore ma come stabilirò il valore di hidtext, signore? – Mathematics