"bbb" is being posted back, but .NET will not populate a read-only textbox from postback data. You can manually populate the text box by grabbing the form data yourself from the Page_Load()
method as follows:
textValue2.Text = Request.Form[textValue2.UniqueID];
Remove the server side attribute - ReadOnly - from the TextBox and set the HTML attribute from the code. You will be able to access the value then in post back:
textValue2.Attributes.Add("readonly","readonly");
I think instead of readonly, set your value to the textbox and then disable it.
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/>
You are missing a quotation mark before 'true', it might cause issues.