Se si setta la proprietà ReadOnly di un TextBox ASP.NET a True, si avrà lo spiacevole effetto collaterale di perdere il viewstate del TextBox durante i postback.
Questo perchè la proprietà ReadOnly viene valutata lato server e, indicando che il controllo è ReadOnly, implicitamente indica che tutte le modifiche lato client saranno ignorate.
Per ovviare a questo problema si può impostare il readonly nella classica maniera impostando reaonly=”readonly” sul TextBox, oppure da codice utilizzando la proprietà attributes:
1: this.txtTest.Attributes.Add("readonly", "readonly");