2011-05-03 20 views
9

En archivo ASP que tengo dos asp: textboxasp: cuadro de texto de sólo lectura

<asp:TextBox ID="textValue" runat="server" Width="100px"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

entonces establecer el valor a través de JavaScript conseguir

<asp:TextBox ID="textValue" runat="server" Width="100px" value="aaa"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true" value="bbb"/> 

pero cuando actualizar la página web, finalmente, obtener

<asp:TextBox ID="textValue" runat="server" Width="100px" value="aaa"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

¿Por qué el valor bbb está "perdido"? ¿Cómo puedo evitar esto?

+1

cómo puede configurar u valor de sólo lectura de texto –

+1

con javascript. Un ejemplo típico es un texto de Calendario + Entrada. –

Respuesta

10

"bbb" se publicará de nuevo, pero .NET no rellenará un cuadro de texto de solo lectura a partir de los datos de devolución de datos. Puede rellenar manualmente el cuadro de texto por el acaparamiento de los datos del formulario a sí mismo a partir del método Page_Load() de la siguiente manera:

textValue2.Text = Request.Form[textValue2.UniqueID];

0

Creo que en lugar de sólo lectura, establezca su valor en el cuadro de texto y luego desactívelo.

2
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

Usted se echa en falta una comilla antes 'verdadero', que podría causar problemas.

+0

Error mío cuando escribí la pregunta. Editado ahora, gracias –

7

Elimine el atributo del lado del servidor - ReadOnly - del TextBox y establezca el atributo HTML del código. Podrá tener acceso al valor y luego en la parte trasera mensaje:

textValue2.Attributes.Add("readonly","readonly"); 
Cuestiones relacionadas