HTML 5 solution
If you intend to use HTML 5, you can simply specify the input type as follows:
@Html.TextBox("StartDate", Model.StartDate, new { @class = "datepicker", @type="date" })
To make date management:

Jsfiddle
JQuery UI Solution
You can also use jQuery UI for this:
<fieldset> <legend>Search criteria</legend> @Html.Label("StartDate", "Start Date:") @Html.TextBox("StartDate", string.Empty, new { @class = "datepicker" }) @Html.Label("enddate", "End Date:") @Html.TextBox("enddate", string.Empty, new { @class = "datepicker" }) <input type="submit" value="Apply" /> </fieldset> <script> $(function() { $( ".datepicker" ).datepicker(); }); </script>

The above adds the datepicker class to the TextBox, and then runs javascript to decorate them.
http://jqueryui.com/datepicker/
Notice that I am stuck in a text box, but would use TextBoxFor instead.
Update
See a working example below.
Dot net fiddle
source share