Friday, December 9, 2011

Upgrade .NET 1.1 to .NET 4 - ReadOnly Textbox

Well, this has been under discussion for sometime and I knew this was a known issue although it was a design change in ASP.NET 2.0.



I am talking about the TextBox which has the Read Only property assigned true not retaining the values or client side changes getting ignored across postbacks. There are certain blogs / articles which talk about it but for the benefit of those who get stuck with this, I am giving herebelow the steps to reproduce and the resolution for the same.


ASP.NET 2.0 had a design change by which a an control if marked with its ReadOnly property as true, would ignore client side changes and would lose the same across postback. So if you tried modifying the text box value or add a value to the text box using Javascript you wouldnt be able to retireve the value in the code behind or simply the value will be lost across postback.


This behaviour is new in ASP.NET 2.0 and if you are migrating your ASP.NET 1.x applications you may find this a little annoying / worrying since the values aren't retained.


This is independent of whether you set the EnableViewState property for the TextBox to true or false. In fact the EnableViewState property for a TextBox doesnt make a difference since the values in a TextBox are maintained and retrieved from the Form's Collection and not from the ViewState.


However, there is a work around for the same. Instead of setting the "Read Only=true" property in the design you can enable the ReadOnly property of the TextBox through the Attributes collection in the code behind. To do that, remove the ReadOnly property from the TextBox declaration above. Then, in the code behind file, within the Page_Load add the following line of code:-


TextBox1.Attributes.Add("readonly", "readonly");


Now you will notice that when you run the page, the client side changes you make in the TextBox (via the Javascript) is retained across postback.


This behaviour is by design in ASP.NET 2.0 and it has been designed with the idea that a ReadOnly TextBox shouldnt be modified in the client side by a malicious code.


For more information check http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.readonly.aspx

Friday, September 16, 2011

TFS command to delete a branch

This is a useful command to cancel branching.

tf destroy $// /startcleanup /noprompt /login:username,[password] [/collection:uri]

This cleans up branching history also.

Wednesday, September 14, 2011

TFS command to see workspace information

tf workspaces /format:detailed /server:http://servername:8080/tfs workspacename


tf workspaces /format:detailed /server:servername workspacename





TFS workspace problem? Clean up user cache!

Most of workspace problem encountered are caused by remaining user cache.
You have to clean up two places.

C:\Users\username\AppData\Local\Microsoft\Team Foundation\3.0\Cache

C:\Users\username\AppData\Local\Microsoft\VisualStudio\10.0