2012-06-08 19 views
6

Estoy escribiendo el proyecto ASP.NET en C#.Obtener el texto de asp: cuadro de texto

La página UpdateUserInfo.aspx consiste en cuadros de texto y botón. En el método pageLoad(), configuro texto en el cuadro de texto y cuando se selecciona el botón, obtengo el nuevo valor del cuadro de texto y lo escribo en el DB.

El problema es incluso si he cambiado el valor de la caja de texto textbox.Text() método devuelve el valor anterior de textbox ("sometext") y escribir esto en DB.

Aquí los métodos:

protected void Page_Load(object sender, EventArgs e) 
{ 
    textbox.text = "sometext"; 
} 

void Btn_Click(Object sender,EventArgs e) 
{ 
    String textbox_text = textbox.text();// this is still equals "somevalue", even I change the textbox value 
    writeToDB(textbox_text); 
} 

Por lo tanto, cómo hacer que aparezca cuadro de texto con somevalue al principio, pero cuando el usuario cambia este método getText valor de retorno el nuevo valor modificado y escribir esto en DB?

+1

Puede leer aquí http://stackoverflow.com/questions/829249/what-does-ispostback-actually-mean – Ravia

Respuesta

16
protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
    { 
     textbox.text = "sometext"; 
    } 
} 

devolución de datos está estableciendo la propiedad textboxs texto de nuevo a "somevalue" el clic de botón, tendrá que establecer el valor sólo una vez que el anterior.

devolución de datos explicó:

En el contexto del desarrollo web ASP, una devolución de datos es otro nombre para HTTP POST. En una página web interactiva, los contenidos de un formulario se envían al servidor para procesar cierta información. Luego, el servidor envía una nueva página al navegador.

Esto se hace para verificar las contraseñas para iniciar sesión, procesar un formulario de pedido en línea , u otras tareas que un equipo cliente no puede hacer en . Esto no debe confundirse con las acciones de actualización o retroactividad tomadas con los botones del navegador.

Source

Leyendo sobre View State también será útil para entender cómo encaja todo.

+0

¿Podría explicar lo que es PostBack, por favor? .. – Nurlan

+0

Así que las actualizaciones del método Btn_Click página, es decir. La carga de página también se invoca cuando se hace clic en el botón ¿sí? Y PostBack se usa para informar que el botón ha llamado al método Page_load. ¿Estoy en lo cierto? – Nurlan

+1

El evento de clic de botón provoca una devolución de datos. La carga de la página se invoca cuando la página se carga, ya sea por primera vez o debido a una devolución de datos. Su línea de código se aplica la primera vez que la página carga + para todas las posteriores devoluciones, por lo que su nuevo valor nunca se establece. En el futuro, si solo desea que se ejecute algún código una vez cuando la página se carga por primera vez y no en las devoluciones, debe colocarla dentro del bloque '! Page.IsPostBack'. – dtsg

1

realidad en la página de carga textbox es re-initilized

protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!Page.IsPostBack) 
     { 
      textbox.text = "sometext"; 
     } 
    } 
    void Btn_Click(Object sender,EventArgs e) 
    { 
     String textbox_text = textbox.text; 
     writeToDB(textbox_text); 
    } 
1

Por favor, compruebe la página del PostBack en la carga de la página de eventos ....

2

Prueba esto:

If (!IsPostBack) 
{ 
textbox.text = "sometext"; 
} 
Cuestiones relacionadas