In my view I have
<%= Html.TextBoxFor(m => m.Patient.Weight, new { title = \"Weight\" , style = \"width: 3em\", @class = \"fieldRequired watermark\" }
The term you're looking for is placeholder.
There's an option with HTML 5 to specify a placeholder.
@Html.TextBoxFor(m => m.Name, new { placeholder="Your Name..." })
However, it's not supported on all browsers. So you're off to JavaScript land.
Here's a popular option on NuGet - jQuery.placeholder. It'll read the HTML 5 attributes and handle fall-back for browsers that don't support it.
Just add the script at this in the document onload. And some css classes, check their docs for further info.
$('input, textarea').placeholder();
Edit: placeholder is supported in all major modern browsers