I want to have a textbox with the dollar sign in it that can't be deleted, but user shoud still be able to enter value. Is this possible?
Why not have the $ sign as text on the side of the textbox, that seems to be the common solution. Also, a problem with doing thatis unexpected behaviour, users might get confused. If you must, you will have to use JavaScript. Add a callback to the onchange or onkeypress events and check for a dollar sign and add a new one if it was deleted.
have a look at http://ajax.asp.net/ajaxtoolkit/MaskedEdit/MaskedEdit.aspx - whilst they are achieving it with an Ajax component for .Net the client side will be driven by javascript so you should be able to see how they are doing it.